The last digit is not random.
A container number has four parts: a three-letter owner code, a one-letter equipment category identifier (U on a freight container), a six-digit serial number and a single check digit. The last digit is calculated from the first ten. If it does not match, the number has been mistyped and you need to go back to the document.
Validate your number
Enter the number you have; we will split it into its parts and work the check digit step by step. Everything runs in your browser, nothing is sent anywhere and no external data is consulted.
Method: each of the first ten characters is converted to a number (letters from a table beginning at A, digits by their own value), multiplied by weights from 2⁰ to 2⁹, and the total is divided first by 11 and then by 10; the remainder is the check digit. This tells you only that the number is correctly written — not that the container exists, that it is allocated to you, or where it is.
The four parts
The structure is defined in ISO 6346 and the register is kept by BIC (Bureau International des Containers). BIC was founded in 1933 by the International Chamber of Commerce, developed the BIC-CODE system in 1970, and ISO adopted that system in 1972, entrusting BIC with exclusive management of code allocation and publication of the register of owners' codes.
| Part | Example | What it means |
|---|---|---|
| Owner code | CSQ | Three capital letters identifying the owner or principal operator, registered in BIC's official register. |
| Equipment category | U | U freight container · J detachable container-related equipment · Z trailers and chassis |
| Serial number | 305438 | Six digits chosen by the owner; it carries no meaning. |
| Check digit | 3 | Calculated from the first ten characters. It exists to validate recording and transmission accuracy. |
On freight containers the fourth letter is almost always U. If you see J or Z you are not looking at a container but at related equipment or a chassis — confusing the two on a bill of lading produces a mismatch at the terminal.
How the check digit is calculated
The logic is simple enough to do by hand:
- Convert the letters to numbers. A starts at 10 and the sequence runs on, but multiples of 11 are skipped — 11, 22 and 33 are given to no letter. So A = 10, B = 12, C = 13 … K = 21, L = 23 … U = 32, V = 34 … Z = 38.
- Take the digits at face value.
- Weight each character by its position, left to right, by 2⁰, 2¹, 2² … 2⁹.
- Sum, divide by 11, take the remainder.
- Divide that remainder by 10 and take the remainder. That is the check digit. (The final step turns a remainder of 10 into 0.)
The tool above shows all five steps line by line for your own number.
A note on sources: the binding definition of the algorithm is in ISO 6346, and the text of that standard is paid. The method described here and implemented in the tool is the one used across the industry; it has been verified against the canonical CSQU3054383 example. For a critical transaction, confirm the number with BIC's own calculator as well.
Size-type code: what 22G1 means
Alongside the number, a second four-character code appears on the container. This is the size-type code and it is entirely separate: the number tells you which container, the size-type code tells you what kind.
| Code | Container | Typical use |
|---|---|---|
| 22G1 | 20' standard height, general purpose | The most common dry box |
| 42G1 | 40' standard height, general purpose | Bulky but light cargo |
| 45G1 | 40' High Cube, general purpose | Where height matters |
| L5G1 | 45' High Cube, general purpose | Maximum volume |
| 22R1 | 20' refrigerated | Cold chain |
| 45R1 | 40' High Cube refrigerated | Citrus, fresh produce |
These codes are taken from Hapag-Lloyd's published equipment specification. The first character gives the length, the second the height and width, and the last two the type. Which dimensions each code corresponds to is set out in a table on the container dimensions page.
Validate the check digit before the number goes on a document. A wrong number entered on a bill of lading, delivery order or customs declaration carries through every stage and correcting it requires a document amendment. A single mistyped character breaks the check digit — which is exactly what it was designed to catch.
A matching check digit means the number is written correctly; it does not mean the container is yours. Validation checks the spelling only. Whether the container exists, which shipment it is allocated to and where it is, only the carrier can tell you.
Where the number appears
The same number repeats on every document in the shipment and all of them must match exactly: the bill of lading, the delivery order, the customs declaration, the verified gross mass declaration, and the container itself.
Where documents disagree, the marking on the container governs. Photographing the number at loading therefore settles later arguments quickly.
When it goes wrong
A wrong number spreads down the chain
Entered incorrectly on the bill of lading, it is copied to the delivery order, the customs declaration and the VGM filing. The terminal cannot find the right container, customs cannot match the goods, the shipment waits — and the demurrage clock starts.
Do this: run the number through the check digit before it goes on a document. It takes seconds and was designed for precisely this error.
A valid check digit is taken as confirmation of the container
Validation checks the spelling. A randomly generated but mathematically valid number also passes. Existence, allocation and location come only from the carrier.
The size-type code is confused with the number
22G1 is not a container number; it identifies the type. Saying "my container number is 22G1" tells the other side nothing about which box you mean.
The category letter is overlooked
If the fourth letter is not U you are not holding a freight container — J is detachable equipment, Z a trailer or chassis. Entering a chassis number as a container number produces a mismatch at the terminal.
Frequently asked
Why divide by 11?
Because 11 is prime, almost every common typing error — a single wrong character, or two adjacent characters transposed — changes the total and fails the check.
That is also why 11, 22 and 33 are skipped in the letter values: those values leave no remainder when divided by 11 and would weaken the error detection.
Can I tell the carrier from the number?
The first three letters identify the owner or principal operator and can be looked up in BIC's official register. But the owner is not necessarily the carrier — the box may be leased, or in use on another line's shipment.
Is the seal number part of the same system?
No. A seal number is separate, falls outside ISO 6346 and carries no check digit. It is shown on the bill of lading alongside the container number.
On taking delivery, check that the seal number matches the document and that the seal is intact; if anything differs, note it on the delivery document at that moment.
Sources
- BIC — Bureau International des Containers The four parts of the number and the equipment category letters (U / J / Z); BIC's own check digit calculator · bic-code.org · accessed 1 Sep 2026
- BIC — History of the organisation and the BIC-CODE system Founded in 1933 by the ICC; developed the BIC-CODE system in 1970; ISO adopted it in 1972 and entrusted BIC with exclusive management of the register · bic-code.org · accessed 1 Sep 2026
- ISO 6346 — Freight containers: coding, identification and marking The binding definition of the number structure and the check digit algorithm. The text of the standard is paid; only the standard number is cited here and nothing is quoted from it. The method described is the one used across the industry and was verified against the CSQU3054383 example · iso.org · accessed 1 Sep 2026
- Hapag-Lloyd — Container Specification Which container each size-type code (22G1, 42G1, 45G1, L5G1, 22R1, 45R1) corresponds to · hapag-lloyd.com (PDF) · accessed 1 Sep 2026
This page is for information only. The validation tool checks only that the number is correctly written; it tells you nothing about the container's existence, allocation or location and connects to no external data source. For critical transactions, confirm the number with BIC's own calculator and with your carrier.
Change log
- Page and validation tool published. The algorithm was verified against the canonical CSQU3054383 example; BIC's founding and ISO's adoption of the system in 1972 were confirmed from BIC's own history page.