How a container number is built
A container number follows the ISO 6346 standard. It always has eleven characters: four letters followed by seven digits. Each part has a fixed job, so you can read a lot from the number before you look anything up.
| Part | Example | What it means |
|---|---|---|
| Owner code | CSQ | Three letters registered to the container owner with the Bureau International des Containers (BIC) |
| Equipment category | U | U for a freight container, J for detachable freight container equipment, Z for trailers and chassis |
| Serial number | 305438 | Six digits chosen by the owner to identify the individual box |
| Check digit | 3 | One digit calculated from the first ten characters to catch typing errors |
Put together, the example reads CSQU3054383. You will usually see it painted on the doors, the roof and the sides of the box, often split across lines as CSQU 305438 3 with the check digit in a small frame. Near it you will find a four character size and type code such as 22G1 or 45G1. That code describes the box (length, height, general purpose or reefer) and is not part of the number you track.
Why the check digit matters for tracking
Container numbers get copied by hand from booking confirmations, bills of lading, arrival notices and gate tickets. A single swapped digit sends you to the wrong box or to no result at all. The check digit lets you know the number is internally consistent before you contact a carrier or a terminal. It does not prove the box exists or that it is on your booking, but it removes most typing mistakes, which are the most common reason a container lookup fails.
Letter values used in the calculation
The calculation turns every letter into a number. Values start at 10 for A and run to 38 for Z, but every multiple of 11 is skipped, because 11, 22 and 33 would weaken the error detection. That is why B is 12 rather than 11, L is 23 rather than 22, and V is 34 rather than 33.
| Letter | Value | Letter | Value | Letter | Value |
|---|---|---|---|---|---|
| A | 10 | J | 20 | S | 30 |
| B | 12 | K | 21 | T | 31 |
| C | 13 | L | 23 | U | 32 |
| D | 14 | M | 24 | V | 34 |
| E | 15 | N | 25 | W | 35 |
| F | 16 | O | 26 | X | 36 |
| G | 17 | P | 27 | Y | 37 |
| H | 18 | Q | 28 | Z | 38 |
| I | 19 | R | 29 |
Digits keep their face value, so 0 is 0 and 8 is 8.
Calculating the check digit step by step
The method works the same for every container number.
- Convert each of the first ten characters to its value: letters from the table, digits as they are.
- Multiply each value by 2 raised to its position, counting positions from 0 on the left. The weights are 1, 2, 4, 8, 16, 32, 64, 128, 256 and 512.
- Add the ten products together.
- Divide the sum by 11 and keep the remainder.
- The remainder is the check digit. If the remainder is 10, the check digit is 0.
Owners are advised not to issue serials that produce a remainder of 10, because that result shares a check digit with remainder 0, but you will still meet such numbers in the field.
A worked example with CSQU3054383
Here is the full arithmetic for CSQU305438, the first ten characters of the example number.
| Position | Character | Value | Weight | Product |
|---|---|---|---|---|
| 0 | C | 13 | 1 | 13 |
| 1 | S | 30 | 2 | 60 |
| 2 | Q | 28 | 4 | 112 |
| 3 | U | 32 | 8 | 256 |
| 4 | 3 | 3 | 16 | 48 |
| 5 | 0 | 0 | 32 | 0 |
| 6 | 5 | 5 | 64 | 320 |
| 7 | 4 | 4 | 128 | 512 |
| 8 | 3 | 3 | 256 | 768 |
| 9 | 8 | 8 | 512 | 4096 |
The products add up to 6185. Eleven goes into 6185 five hundred sixty two times, which is 6182, leaving a remainder of 3. The check digit is 3, and it matches the last digit of CSQU3054383, so the number is valid. If someone had typed CSQU3045383 instead, the sum would change and the remainder would no longer be 3, which flags the error immediately.
Common reasons a container number fails the check
When the check digit does not match, the cause is usually one of a handful of mistakes.
- The letter O typed in place of the digit 0, or the letter I in place of the digit 1.
- Two adjacent digits swapped while copying from a PDF or a photo.
- The check digit left off, so only ten characters were entered.
- A booking number or bill of lading number pasted where the container number belongs.
- A space or dash inside the number that a carrier site does not accept.
A booking number or bill of lading number is not a container number. Bills of lading from most ocean lines start with the line's own prefix and do not follow ISO 6346, so they will never pass this check. You can still track by them, see our guide to bill of lading tracking.
Finding the ocean line from the owner code
The owner code often tells you which carrier to ask. MSCU and MEDU belong to MSC, MAEU and MSKU to Maersk, CMAU to CMA CGM, HLCU and HLXU to Hapag-Lloyd, and OOLU to OOCL. When the box is owned by the line, a lookup on that line's tracking page usually returns the voyage.
The owner code is not always the carrier, though. A large share of the world's boxes belong to leasing companies, and a leased container keeps the lessor's owner code while it sails with whichever line leased it. Shipper owned containers (SOC) also carry their owner's code. In those cases you need the booking or bill of lading to know the line, or a tool that checks the number against several carriers for you.
Where to find the container number on your paperwork
If you do not have the number yet, look in these places.
- The booking confirmation or the shipping instructions acknowledgement from the line or your forwarder.
- The bill of lading, which lists every container and seal number on the shipment.
- The arrival notice sent before the vessel reaches the US port.
- The packing list or commercial invoice, when your supplier fills in the container field.
- The gate ticket or equipment interchange receipt (EIR) from the terminal or the trucker.
Milestones you will see when you track a container
Once the lookup works, an ocean container moves through a predictable set of events. Knowing them helps you spot when something is stuck.
- Empty container released to the shipper and gated out for stuffing.
- Gate in full at the origin terminal.
- Loaded on vessel and vessel departure.
- Transshipment discharge and reload at a hub port, when the routing is not direct.
- Vessel arrival and discharge at the US port of discharge.
- Customs release and freight release, which clear the box for pickup.
- Available for pickup, then gate out full to the trucker or the rail ramp.
- Empty return to the terminal or depot, which stops the detention clock.
The gap between discharge and gate out is where most fees start. Our article on demurrage and detention explains how the last free day works and how to stay ahead of it.
Tracking one box by hand versus many at once
Checking one number on a carrier site is easy. The work grows quickly when you import from several origins with different lines, because every carrier site uses its own layout, its own event names and its own idea of an ETA. Teams end up with a spreadsheet of container numbers and a morning routine of copying status lines from five browser tabs.
ShipmentVisibility container tracking runs the ISO 6346 check for you, maps the owner code to the line when it can, and keeps every container on one list next to your parcel, LTL and air shipments. Events from all carriers are normalized into the same milestone names, so discharge means the same thing for every line, and you get alerts when a box is discharged, released, or still sitting at the terminal close to its last free day.
Quick checklist before you search
- Count the characters: four letters and seven digits.
- Confirm the fourth letter is U, J or Z.
- Run the check digit, or paste the number into a tool that does it.
- Read the owner code to guess the line, and remember that leased and shipper owned boxes break that rule.
- Keep the bill of lading number handy for leased equipment.