What ISO 6346 Defines
ISO 6346 is an international standard published by the International Organization for Standardization that establishes a coding system for the identification of freight containers. First introduced in 1995 and most recently revised in 2022, it is the universal reference for container numbering used by shipping lines, terminals, customs authorities, and logistics software systems globally.
The standard covers three main areas:
- Container identification — the 11-character alphanumeric marking system painted on every container (e.g.,
MSCU1234567). - Size and type codes — a 4-character code indicating the container's external dimensions and functional type (e.g.,
22G1for a standard 20-foot general-purpose container). - Owner code registration — the Bureau International des Containers (BIC) maintains the registry of three-letter owner codes assigned to container operators.
ISO 6346 is essential for any system that processes bills of lading, terminal operating data, or customs declarations. Without a valid container number, a shipment cannot be tracked, manifested, or cleared through customs. KabyTech applies ISO 6346 validation every time a container number is extracted from a scanned or electronic document.
Container Number Format
An ISO 6346 container identification number consists of 11 characters arranged in four components:
| Position | Component | Format | Example |
|---|---|---|---|
| 1–3 | Owner Code | 3 uppercase letters | MSC |
| 4 | Equipment Category | 1 uppercase letter | U |
| 5–10 | Serial Number | 6 digits | 123456 |
| 11 | Check Digit | 1 digit | 7 |
The owner code (positions 1–3) is a unique identifier registered with the Bureau International des Containers (BIC). Examples include MSC (Mediterranean Shipping Company), MAE (Maersk), COS (COSCO), and ONE (Ocean Network Express). The BIC registry is publicly searchable and currently contains over 4,000 registered codes.
The equipment category identifier (position 4) distinguishes the type of equipment:
- U — Freight container (the most common)
- J — Detachable freight container-related equipment (e.g., generator sets)
- Z — Trailer or chassis
The serial number (positions 5–10) is a six-digit number assigned by the owner. Combined with the owner code and category, it uniquely identifies the container worldwide.
Check Digit Algorithm
The 11th character of an ISO 6346 container number is a check digit calculated using a specific algorithm to detect transcription errors. The algorithm works as follows:
Step 1 — Character conversion: Each of the first 10 characters is converted to a numeric value. Digits retain their face value (0–9). Letters are assigned values according to ISO 6346 Annex A: A=10, B=12, C=13, D=14, E=15, F=16, G=17, H=18, I=19, J=20, K=21, L=23, M=24, N=25, O=26, P=27, Q=28, R=29, S=30, T=31, U=32, V=34, W=35, X=36, Y=37, Z=38. Note that the values 11, 22, and 33 are deliberately skipped to avoid multiples of 11.
Step 2 — Positional weighting: Each converted value is multiplied by 2 raised to the power of its position index (starting from 0). Position 1 is multiplied by 2⁰ = 1, position 2 by 2¹ = 2, position 3 by 2² = 4, and so on up to position 10 multiplied by 2⁹ = 512.
Step 3 — Summation and modulus: The 10 weighted values are summed. The sum is divided by 11, and the remainder is the check digit. If the remainder is 10, the check digit is recorded as 0.
For example, for the container MSCU1234560: M=24, S=30, C=13, U=32, 1=1, 2=2, 3=3, 4=4, 5=5, 6=6. After applying positional weights and summing, the modulus-11 remainder gives the check digit. If the calculated digit does not match the 11th character, the container number is invalid.
KabyTech performs this check digit validation automatically for every container number extracted from bills of lading, manifests, and terminal documents. Failed check digits are flagged with the expected correct digit to aid manual correction.
Size and Type Codes
In addition to the identification number, ISO 6346 defines a 4-character size/type code that describes the container's physical dimensions and functional category. This code appears on the container itself, in booking systems, and in shipping documents.
The code structure is:
| Position | Meaning | Examples |
|---|---|---|
| 1 | Length | 2 = 20ft, 4 = 40ft, L = 45ft, M = 48ft |
| 2 | Height | 2 = 8ft 6in (standard), 5 = 9ft 6in (high cube) |
| 3 | Type group | G = general purpose, R = reefer, T = tank, P = flat rack |
| 4 | Type detail | 0 = opening at one end, 1 = opening at both ends, etc. |
Common size/type codes encountered in Southeast Asian freight include:
- 22G1 (also written 20GP) — 20-foot standard dry container, the workhorse of general cargo.
- 42G1 — (also 40GP) — 40-foot standard dry container.
- 45G1 — (also 40HC) — 40-foot high-cube container (9ft 6in), increasingly dominant in volume-heavy shipments.
- 45R1 — 40-foot high-cube refrigerated container, critical for Thailand's food export sector.
- L5G1 — (also 45HC) — 45-foot high-cube container, used on some intra-Asia routes.
KabyTech cross-references the size/type code found in documents against the container number's owner registry to validate that the declared container type matches the operator's known fleet profile, flagging mismatches that may indicate data-entry errors.
Summary
ISO 6346 is the foundational standard for container identification in global shipping. Key points:
- Every container is marked with an 11-character identifier: 3-letter owner code + equipment category (U/J/Z) + 6-digit serial + 1 check digit.
- Owner codes are registered and maintained by the Bureau International des Containers (BIC).
- The check digit uses a modulus-11 algorithm with positional powers of 2 and a special letter-to-number mapping that skips multiples of 11.
- Size/type codes (e.g., 22G1, 45R1) encode physical dimensions and container function in a 4-character format.
- KabyTech validates container numbers on every document extraction — checking format, BIC registration, check digit, and size/type consistency.
Common invalid patterns detected by KabyTech include: incorrect check digits from OCR misreads (e.g., 0 vs O, 1 vs I), unregistered owner codes, and non-standard equipment category letters. These are flagged with suggested corrections where possible.