A Complete Guide to ISO 6346 Container Tracking

    Every shipping container in the world carries an 11-character identifier defined by ISO 6346. Get it wrong by one character and your booking, your customs entry, and your tracking request all point at somebody else's box. This guide explains how the standard is built, how to validate a number by hand, and how to keep containers tracked without re-keying anything.

    What ISO 6346 is and why it exists

    ISO 6346 is the international standard for coding, identifying, and marking intermodal freight containers. It was created so a container loaded in Ningbo can be handed between a trucker, a rail operator, a terminal, a customs authority, and a shipping line without anyone renaming it. The owner codes themselves are registered with the Bureau International des Containers (BIC), which guarantees that no two operators issue the same prefix.

    Because the identifier is globally unique and self-validating, it is also the key that carrier APIs, terminal operating systems, and tracking platforms use to join events together. That is why a mistyped container number does not return "wrong container" — it usually returns nothing at all.

    Anatomy of a container number

    An ISO 6346 identifier is always four letters followed by seven digits. Take MSCU1234566:

    PartExampleMeaning
    Owner codeMSCThree letters, registered with the BIC, identifying the container's owner or principal operator.
    Equipment categoryUU for all freight containers, J for detachable freight-container equipment, Z for trailers and chassis.
    Serial number123456Six digits assigned by the owner. No meaning beyond uniqueness within that owner code.
    Check digit6One digit derived from the other ten, used to catch typos and OCR misreads.

    The equipment category is the fastest sanity check in practice: if the fourth character is not U on an ocean container, the number is almost certainly wrong.

    How the check digit is calculated

    The check digit is a weighted modulus-11 checksum. The procedure is:

    1. Convert each of the first ten characters to a number. Digits keep their value; letters use the table below, which deliberately skips every multiple of 11.
    2. Multiply each value by 2 raised to its zero-based position (1, 2, 4, 8, 16, 32, 64, 128, 256, 512).
    3. Sum the ten products.
    4. Take the sum modulo 11. If the result is 10, the check digit is 0; otherwise it is the result itself.

    Letter values

    A10B12C13D14E15F16G17H18I19J20K21L23M24N25O26P27Q28R29S30T31U32V34W35X36Y37Z38

    Worked example: MSCU1234566

    #CharValueWeightProduct
    1M24124
    2S30260
    3C13452
    4U328256
    5111616
    6223264
    73364192
    844128512
    9552561280
    10665123072
    Sum5528

    5528 ÷ 11 = 502 remainder 6. The check digit is 6, so MSCU1234566 is a structurally valid container number — and MSCU1234567, the number people usually type as a placeholder, is not.

    Size and type codes

    ISO 6346 also defines a separate four-character size/type code stencilled under the container number. The first two characters describe length and height, the last two describe the container type. These are what tell you whether a booking needs a reefer plug or an out-of-gauge permit.

    CodeMeaning
    22G120ft standard (general purpose) dry container, 8'6" high
    42G140ft standard dry container, 8'6" high
    45G140ft high cube dry container, 9'6" high
    22R120ft refrigerated (reefer) container
    45R140ft high cube reefer
    22U120ft open top container
    42P140ft flat rack / platform container
    22T120ft tank container

    Common validation errors and what they mean

    • Container number must be 11 characters

      Spaces, hyphens, or a missing check digit. A valid number is always 4 letters followed by 7 digits — MSCU1234566, never MSCU 123456.

    • First 3 characters must be letters (owner code)

      The BIC owner code was mistyped, or a booking reference was pasted instead of the container number.

    • 4th character must be a letter (equipment category)

      Almost always U for freight containers. J and Z exist but are rare; a digit here means the number is wrong.

    • Invalid check digit. Expected X, got Y

      One character was transposed or misread — the classic OCR failure at the gate. Recheck the number against the door plate before re-entering it.

    Automating container tracking in 4VISION

    Validating the number by hand is the easy part. The work is keeping hundreds of containers, their vessels, their ports, and the purchase orders inside them aligned as schedules move. 4VISION Delivery Manager does that from the container number alone:

    • ISO 6346 validation on entry, with the expected check digit shown when a number fails
    • Automatic carrier detection from the BIC owner code prefix
    • Live ocean tracking — vessel, voyage, port events, and current map position
    • Carrier ETA used as the single source of truth, with a distance-based estimate only when the carrier has not published one
    • Many-to-many linking between containers and purchase orders, so a delayed vessel flags the affected orders
    • The same workflow for air freight, tracked by AWB alongside your ocean shipments

    See it with real shipment data

    The demo workspace is preloaded with containers, air waybills, purchase orders, and ten years of delivery history — no signup required.

    Keep reading

    © 2026 4VISION LTD. All rights reserved.