Container Number Validator

Paste a container number to verify its ISO 6346 check digit and see what each part means — owner, equipment category, serial.

🔒 Your data never leaves your browser.

The letter values that trip up every implementation

ISO 6346 assigns each letter a number starting at A = 10 — but it skips every multiple of 11. So B is 12, not 11. L is 23, not 22. V is 34, not 33. Writing the table as a simple alphabetical sequence produces a validator that rejects perfectly good container numbers, and it is the single most common bug in hand-rolled ISO 6346 code.

LetterValue
A 10
B 12 not 11 — 11 is skipped
K 21
L 23 not 22 — 22 is skipped
U 32
V 34 not 33 — 33 is skipped
Z 38

The weights are the second trap: each position is multiplied by a power of two (1, 2, 4, 8 … 512), not by its position number.

The fourth letter is not part of the owner code

CategoryMeaning
UFreight container
JDetachable freight-container-related equipment
ZTrailer or chassis

Anything else in that position means the number is not a valid container identifier — a surprisingly common way for a mis-typed number to look plausible.

A known weakness of the standard itself

The check calculation can produce a remainder of 10, which the standard records as 0. That means some container numbers ending in 0 are genuinely ambiguous: two different serials can share a check digit. It is a flaw in ISO 6346, not in any particular container, and this tool points it out when your number lands on it rather than pretending the check was decisive.

Every check this tool runs (6 rules)

BOX-F01Not 11 characters

A container number is exactly 11 characters: a 3-letter owner code, a 1-letter equipment category, 6 digits of serial, and a check digit.

Fix: Read it from the door or the side of the container. Spaces in the printed form (ABCU 123456 7) are formatting, not part of the number.

Source: ISO 6346 (freight container coding, identification and marking). Algorithm verified against real container numbers in our regression tests.

BOX-F02Wrong character shape

The first four characters must be letters and the last seven must be digits. A number that does not follow this shape is not an ISO 6346 container number.

Fix: Check for 0/O and 1/I confusions in the letter and digit sections.

Source: ISO 6346 (freight container coding, identification and marking). Algorithm verified against real container numbers in our regression tests.

BOX-F03Invalid equipment category

The fourth letter is the equipment category identifier and may only be U, J or Z: U for a freight container, J for detachable freight-container-related equipment, and Z for a trailer or chassis.

Fix: For a standard shipping container this letter is U.

Source: ISO 6346 (freight container coding, identification and marking). Algorithm verified against real container numbers in our regression tests.

BOX-C01Check digit does not match

The eleventh character is a check digit computed from the other ten using letter values that skip multiples of 11 and weights that are powers of two. A mismatch means the number was mis-read or invented.

Fix: Re-read the number from the container itself; the check digit is printed in a box of its own.

Source: ISO 6346 (freight container coding, identification and marking). Algorithm verified against real container numbers in our regression tests.

BOX-C02Check digit sits on the standard’s known ambiguity

The algorithm can produce a remainder of 10, which ISO 6346 writes as 0. That makes some container numbers with a check digit of 0 ambiguous — a known weakness of the standard, not of this number in particular.

Source: ISO 6346 (freight container coding, identification and marking). Algorithm verified against real container numbers in our regression tests.

BOX-S01Owner code

The first three letters are the owner prefix, registered with the Bureau International des Conteneurs (BIC). Resolving a prefix to a company requires the BIC register, which this tool does not embed — so the code is reported without a guessed owner name.

Source: ISO 6346 (freight container coding, identification and marking). Algorithm verified against real container numbers in our regression tests.