ISO 6346
# ISO 6346

ISO 6346 is an international standard covering the coding, identification and marking of intermodal (shipping) containers used within containerized intermodal freight transport by the International Organization for Standardization (ISO). The standard establishes a visual identification system for every container that includes a unique serial number (with check digit), the owner, a country code, a size, type and equipment category as well as any operational marks. The register of container owners is managed by the International Container Bureau (BIC).

## Identification system

Example of an ISO 6346 compliant container number:

The illustrated example is a code for a container owned by Hapag-Lloyd AG.

### Owner code

The owner code consists of three capital letters of the Latin alphabet to indicate the owner or principal operator of the container. Such code needs to be registered at the Bureau International des Containers in Paris to ensure uniqueness worldwide. An owner can apply for more than one code, as normally the first 2 letters are used as the owner code and the third is used to indicate pool (e.g. HLA, HLB, HLX are some Hapag-Lloyd codes to indicate whether container is standard, reefer...)

### Equipment category identifier

The equipment category identifier consists of one of the following capital letters of the Latin alphabet:

* U for all freight containers
* J for detachable freight container-related equipment
* Z for trailers and chassis

Presently, all official BIC container codes end in "U". However, the Association of American Railroads recognizes similar codes for their containers and trailers travelling by rail in North America, though these are not recognized by the BIC and lack check digits.

Under the ISO code, then, only U, J, and Z are in use. The refrigerated (reefer) container is identified by means of the size type code.

### Serial number

The serial number consists of 6 numeric digits, assigned by the owner or operator, uniquely identifying the container within that owner/operator's fleet.

### Check digit

The check digit consists of one numeric digit providing a means of validating the recording and transmission accuracy of the owner code and serial number.

To compute the check digit, the letters have to be converted to numbers. This is done in three steps:

**Calculation step 1**

An equivalent numerical value is assigned to each letter of the alphabet, beginning with 10 for the letter A (11 and multiples thereof are omitted):

| A | B | C | D | E | F | G | H | I | J | K | L | M |
| - | - | - | - | - | - | - | - | - | - | - | - | - |
| 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 |
| N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | 35 | 36 | 37 | 38 |

The individual digits of the serial number keep their numeric value.

**Calculation step 2**

Each of the numbers calculated in step 1 is multiplied by $2^{position},$ where position is the exponent to base 2. Position starts at 0, from left to right.

The following table shows the multiplication factors:

| 1. nbr | 2. nbr | 3. nbr | 4. nbr | 5. nbr | 6. nbr | 7. nbr | 8. nbr | 9. nbr | 10. nbr |
| - | - | - | - | - | - | - | - | - | - |
| $2^0$ | $2^1$ | $2^2$ | $2^3$ | $2^4$ | $2^5$ | $2^6$ | $2^7$ | $2^8$ | $2^9$ |
| 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 |

**Calculation step 3**

* Sum up all results of Step above
* Divide them by 11
* Round the result down towards zero i.e. make the result a whole number (integer)
* Multiply the integer value by 11
* Subtract result of (iv) from result of (i): This is the check digit.

If the final difference is 10, then the check digit becomes 0. To ensure that this does not happen the standard recommends that serial numbers should not be used which produce a final difference of 10; however, there are containers in the market which do not follow this recommendation, so handling this case has to be included if a check digit calculator is programmed.

Notice that step (ii) to (v) is a calculation of the remainder found after division of (i) by 11. Most programming languages have a modulo operator for this. Attention should be paid to how it works in the language chosen; i. e. if it gives back the decimal rest or the integer rest in order to get proper results. 11 is used as divisor because a container number has 11 letters and digits in total. In step 1 the numbers 11, 22 and 33 are left out as they are multiples of the divisor.

**Example**

| | C | S | Q | U | 3 | 0 | 5 | 4 | 3 | 8 | Calc. |
| - | - | - | - | - | - | - | - | - | - | - | - |
| | 13 | 30 | 28 | 32 | 3 | 0 | 5 | 4 | 3 | 8 | |
| × | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | |
| | 13 | 60 | 112 | 256 | 48 | 0 | 320 | 512 | 768 | 4096 | 6185 [a] |
| b) Division by 11: | b) Division by 11: | b) Division by 11: | b) Division by 11: | b) Division by 11: | b) Division by 11: | b) Division by 11: | b) Division by 11: | b) Division by 11: | b) Division by 11: | b) Division by 11: | 562.272... |
| c) Erase decimal digits: | c) Erase decimal digits: | c) Erase decimal digits: | c) Erase decimal digits: | c) Erase decimal digits: | c) Erase decimal digits: | c) Erase decimal digits: | c) Erase decimal digits: | c) Erase decimal digits: | c) Erase decimal digits: | c) Erase decimal digits: | 562 |
| d) Multiply by 11: | d) Multiply by 11: | d) Multiply by 11: | d) Multiply by 11: | d) Multiply by 11: | d) Multiply by 11: | d) Multiply by 11: | d) Multiply by 11: | d) Multiply by 11: | d) Multiply by 11: | d) Multiply by 11: | 6182 |
| a) minus d) = Check Digit: | a) minus d) = Check Digit: | a) minus d) = Check Digit: | a) minus d) = Check Digit: | a) minus d) = Check Digit: | a) minus d) = Check Digit: | a) minus d) = Check Digit: | a) minus d) = Check Digit: | a) minus d) = Check Digit: | a) minus d) = Check Digit: | a) minus d) = Check Digit: | 3 |

### Practical problems

In day-to-day business it happens that containers do appear which do not follow the ISO 6346 identification at all; however, they are fully CSC safety approved containers. Usually these are "shippers owned" containers (SOC), which means that they are not owned by the carrier but supplied by the cargo owners (shippers). They may have no registered owner code and no category identifier and have no check digit. It is advisable to follow ISO 6346 as the absence of a compliant identification code causes problems for both carriers and container terminals to correctly identify the equipment and properly deliver the cargo, because computer systems require ISO 6346-conforming naming and as such missing prefixes are invented. For example, YYYY at the carrier and XXXX at the terminal causes the equipment to mismatch. Moreover, since ISO 6346 identification has become a requirement in international Customs conventions (Customs Conventions on Containers and Istanbul Convention), many Customs Administrations have begun validating that containers are marked as per the standard.

## Size and type codes

The codes are compiled of the following elements:

* First character, representing the length (coded)
* Second character, representing the width and height (coded)
* Third and fourth character indicating the type of the container

The following is an overview of the most common codes:

| ISO Type Group | ISO Type Group | ISO Size Type | ISO Size Type |
| - | - | - | - |
| Code | Description | Code | Description |
| 20GP | GENERAL PURPOSE CONT. | 20G0 | GENERAL PURPOSE CONT. |
| 20GP | GENERAL PURPOSE CONT. | 20G1 | GENERAL PURPOSE CONT. |
| 20HR | ISOLADO CONTAINE REEFER | 20H0 | INSULATED CONTAINER |
| 20PF | FLAT (FIXED ENDS) | 20P1 | FLAT (FIXED ENDS) |
| 20TD | TANK CONTAINER | 20T3 | TANK CONTAINER |
| 20TD | TANK CONTAINER | 20T4 | TANK CONTAINER |
| 20TD | TANK CONTAINER | 20T5 | TANK CONTAINER |
| 20TD | TANK CONTAINER | 20T6 | TANK CONTAINER |
| 20TG | TANK CONTAINER | 20T7 | TANK CONTAINER |
| 20TG | TANK CONTAINER | 20T8 | TANK CONTAINER |
| 20TN | TANK CONTAINER | 20T0 | TANK CONTAINER |
| 20TN | TANK CONTAINER | 20T1 | TANK CONTAINER |
| 20TN | TANK CONTAINER | 20T2 | TANK CONTAINER |
| 22BU | BULK CONTAINER | 22B0 | BULK CONTAINER |
| 22GP | GENERAL PURPOSE CONT. | 22G0 | GENERAL PURPOSE CONT. |
| 22GP | GENERAL PURPOSE CONT. | 22G1 | GENERAL PURPOSE CONT. |
| 22HR | INSULATED CONTAINER | 22H0 | INSULATED CONTAINER |
| 22PC | FLAT (COLLAPSIBLE) | 22P3 | FLAT (COLLAPSIBLE) |
| 22PC | FLAT (COLLAPSIBLE) | 22P8 | FLAT (COLL.FLUSH FOLDING) |
| 22PC | FLAT (COLLAPSIBLE) | 22P9 | FLAT (COLLAPSIBLE) |
| 22PF | FLAT (FIXED ENDS) | 22P1 | FLAT (FIXED ENDS) |
| 22PF | FLAT (FIXED ENDS) | 22P7 | FLAT (GENSET CARRIER) |
| 22RC | REEFER CONT.(NO FOOD) | 22R9 | REEFER CONT.(NO FOOD) |
| 22RS | BUILT-IN GEN. F. POWER SPLY OF REEF | 22R7 | BUILT-IN GEN. F. POWER SPLY OF REEF |
| 22RT | REEFER CONTAINER | 22R1 | REEFER CONTAINER |
| 22SN | NAMED CARGO CONTAINER | 22S1 | NAMED CARGO CONTAINER |
| 22TD | TANK CONTAINER | 22T3 | TANK CONTAINER |
| 22TD | TANK CONTAINER | 22T4 | TANK CONTAINER |
| 22TD | TANK CONTAINER | 22T5 | TANK CONTAINER |
| 22TD | TANK CONTAINER | 22T6 | TANK CONTAINER |
| 22TG | TANK CONTAINER | 22T7 | TANK CONTAINER |
| 22TG | TANK CONTAINER | 22T8 | TANK CONTAINER |
| 22TN | TANK CONTAINER | 22T0 | TANK CONTAINER |
| 22TN | TANK CONTAINER | 22T1 | TANK CONTAINER |
| 22TN | TANK CONTAINER | 22T2 | TANK CONTAINER |
| 22UP | HARDTOP CONTAINER | 22U6 | HARDTOP CONTAINER |
| 22UT | OPEN TOP CONTAINER | 22U1 | OPEN TOP CONTAINER |
| 22VH | VENTILATED CONTAINER | 22V0 | VENTILATED CONTAINER |
| 22VH | VENTILATED CONTAINER | 22V2 | VENTILATED CONTAINER |
| 22VH | VENTILATED CONTAINER | 22V3 | VENTILATED CONTAINER |
| 25GP | GP-CONTAINER HIGH CUBE | 25G0 | GP-CONTAINER HIGH CUBE |
| 26GP | GP-CONTAINER SUPER HIGH CUBE | 26G0 | GP-CONTAINER SUPER HIGH CUBE |
| 26HR | INSULATED CONTAINER | 26H0 | INSULATED CONTAINER |
| 28TG | TANK FOR GAS | 28T8 | TANK FOR GAS |
| 28UT | OPEN TOP (HALF HEIGHT) | 28U1 | OPEN TOP (HALF HEIGHT) |
| 28VH | VE-HALF-HEIGHT =1448 MM HEIGHT | 28V0 | VE-HALF-HEIGHT =1448 MM HEIGHT |
| 29PL | PLATFORM | 29P0 | PLATFORM |
| 2EGP | GEN. PURP. WITHOUT VENT WIDTH 2.5M | 2EG0 | HIGH CUBE CONT. (WIDTH 2.5M) |
| 42GP | GENERAL PURPOSE CONT. | 42G0 | GENERAL PURPOSE CONT. |
| 42GP | GENERAL PURPOSE CONT. | 42G1 | GENERAL PURPOSE CONT. |
| 42HR | INSULATED CONTAINER | 42H0 | INSULATED CONTAINER |
| 42PC | FLAT (COLLAPSIBLE) | 42P3 | FLAT (COLLAPSIBLE) |
| 42PC | FLAT (COLLAPSIBLE) | 42P8 | FLAT (COLL.FLUSH FOLDING) |
| 42PC | FLAT (COLLAPSIBLE) | 42P9 | FLAT (COLLAPSIBLE) |
| 42PF | FLAT (FIXED ENDS) | 42P1 | FLAT (FIXED ENDS) |
| 42PS | FLAT (SPACE SAVER) | 42P6 | FLAT SPACE SAVER |
| 42RC | REEFER CONT.(NO FOOD) | 42R9 | REEFER CONT.(NO FOOD) |
| 42RS | REEFER CONT.(DIESEL GEN.) | 42R3 | REEFER CONT.(DIESEL GEN.) |
| 42RT | REEFER CONTAINER | 42R1 | REEFER CONTAINER |
| 42SN | NAMED CARGO CONTAINER | 42S1 | NAMED CARGO CONTAINER |
| 42TD | TANK CONTAINER | 42T5 | TANK CONTAINER |
| 42TD | TANK CONTAINER | 42T6 | TANK CONTAINER |
| 42TG | TANK CONTAINER | 42T8 | TANK CONTAINER |
| 42TN | TANK CONTAINER | 42T2 | TANK CONTAINER |
| 42UP | HARDTOP CONTAINER | 42U6 | HARDTOP CONTAINER |
| 42UT | OPEN TOP CONTAINER | 42U1 | OPEN TOP CONTAINER |
| 45BK | BULK CONTAINER | 45B3 | BULK CONTAINER |
| 45GP | HIGH CUBE CONT. | 45G0 | HIGH CUBE CONT. |
| 45GP | HIGH CUBE CONT. | 45G1 | HIGH CUBE CONT. |
| 45PC | FLAT (COLLAPSIBLE) | 45P3 | FLAT (COLLAPSIBLE) |
| 45PC | FLAT (COLLAPSIBLE) | 45P8 | FLAT (COLL.FLUSH FOLDING) |
| 45RC | REEFER CONT.(NO FOOD) | 45R9 | REEFER CONT.(NO FOOD) |
| 45RT | REEFER HIGHCUBE CONTAINER | 45R1 | REEFER HIGHCUBE CONTAINER |
| 45UT | OPEN TOP CONTAINER | 45U1 | OPEN TOP CONTAINER |
| 45UP | HIGH CUBE HARDTOP CONT. | 45U6 | HIGH CUBE HARDTOP CONT. |
| 46HR | INSULATED CONTAINER | 46H0 | INSULATED CONTAINER |
| 48TG | TANK FOR GAS | 48T8 | TANK FOR GAS |
| 49PL | PLATFORM | 49P0 | PLATFORM |
| 4CGP | GP CONTAINER | 4CG0 | GP CONTAINER (WIDTH 2.5 M) |
| L0GP | LOW CUBE CONT. | L0G1 | LOW CUBE CONT. |
| L2GP | STANDARD CONT. | L2G1 | STANDARD CONT. |
| L5GP | HIGH CUBE CONT. | L5G1 | HIGH CUBE CONT. |

Use the below to calculate size/type of a less commonly used ISO 6346 containers:

| ISO Length Codes | ISO Length Codes | Second size code character | Second size code character | Second size code character |
| - | - | - | - | - |
| Code | Container length | Code | Container height | Width |
| 1 | 10 ft (3,048 mm) | 0 | 8 ft (2,438 mm) | 8 ft (2,438 mm) |
| 1 | 10 ft (3,048 mm) | 2 | 8 ft 6 in (2,591 mm) | 8 ft (2,438 mm) |
| 2 | 20 ft (6,096 mm) | 2 | 8 ft 6 in (2,591 mm) | 8 ft (2,438 mm) |
| 3 | 30 ft (9,144 mm) | 4 | 9 ft (2,743 mm) | 8 ft (2,438 mm) |
| 4 | 40 ft (12,192 mm) | 5 | 9 ft 6 in (2,896 mm) | 8 ft (2,438 mm) |
| B | 24 ft (7,315 mm) | 6 | > 9 ft 6 in (2,896 mm) | 8 ft (2,438 mm) |
| C | 24 ft 6 in (7,468 mm) | 8 | 4 ft 3 in (1,295 mm) | 8 ft (2,438 mm) |
| G | 41 ft (12,497 mm) | 9 | <= 4 ft (1,219 mm) | |
| H | 43 ft (13,106 mm) | C | 8 ft 6 in (2,591 mm) | 8 ft (2,438 mm) < x ≤ 8 ft 2 in (2,500 mm) |
| L | 45 ft (13,716 mm) | D | 9 ft (2,743 mm) | 8 ft (2,438 mm) < x ≤ 8 ft 2 in (2,500 mm) |
| M | 48 ft (14,630 mm) | E | 9 ft 6 in (2,896 mm) | 8 ft (2,438 mm) < x ≤ 8 ft 2 in (2,500 mm) |
| N | 49 ft (14,935 mm) | F | > 9 ft 6 in (2,896 mm) | 8 ft (2,438 mm) < x ≤ 8 ft 2 in (2,500 mm) |

ISO Type Codes :

| Code | Description |
| - | - |
| G0 | General - Openings at one or both ends |
| G1 | General - Passive vents at upper part of cargo space |
| G2 | General - Openings at one or both ends + full openings on one or both sides |
| G3 | General - Openings at one or both ends + partial openings on one or both sides |
| V0 | Fantainer - Non-mechanical, vents at lower and upper parts of cargo space |
| V2 | Fantainer - Mechanical ventilation system located internally |
| V4 | Fantainer - Mechanical ventilation system located externally |
| R0 | Integral Reefer - Mechanically refrigerated |
| R1 | Integral Reefer - Mechanically refrigerated and heated |
| R2 | Integral Reefer - Self-powered mechanically refrigerated |
| R3 | Integral Reefer - Self-powered mechanically refrigerated and heated |
| H0 | Refrigerated or heated with removable equipment located externally; heat transfer coefficient K=0.4W/M2.K |
| H1 | Refrigerated or heated with removable equipment located internally |
| H2 | Refrigerated or heated with removable equipment located externally; heat transfer coefficient K=0.7W/M2.K |
| H5 | Insulated - Heat transfer coefficient K=0.4W/M2.K |
| H6 | Insulated - Heat transfer coefficient K=0.7W/M2.K |
| U0 | Open Top - Openings at one or both ends |
| U1 | Open Top - Idem + removable top members in end frames |
| U2 | Open Top - Openings at one or both ends + openings at one or both sides |
| U3 | Open Top - Idem + removable top members in end frames |
| U4 | Open Top - Openings at one or both ends + partial on one and full at other side |
| U5 | Open Top - Complete, fixed side and end walls ( no doors ) |
| T0 | Tank - Non-dangerous liquids, minimum pressure 0.45 bar |
| T1 | Tank - Non-dangerous liquids, minimum pressure 1.50 bar |
| T2 | Tank - Non-dangerous liquids, minimum pressure 2.65 bar |
| T3 | Tank - Dangerous liquids, minimum pressure 1.50 bar |
| T4 | Tank - Dangerous liquids, minimum pressure 2.65 bar |
| T5 | Tank - Dangerous liquids, minimum pressure 4.00 bar |
| T6 | Tank - Dangerous liquids, minimum pressure 6.00 bar |
| T7 | Tank - Gases, minimum pressure 9.10 bar |
| T8 | Tank - Gases, minimum pressure 22.00 bar |
| T9 | Tank - Gases, minimum pressure to be decided |
| B0 | Bulk - Closed |
| B1 | Bulk - Airtight |
| B3 | Bulk - Horizontal discharge, test pressure 1.50 bar |
| B4 | Bulk - Horizontal discharge, test pressure 2.65 bar |
| B5 | Bulk - Tipping discharge, test pressure 1.50 bar |
| B6 | Bulk - Tipping discharge, test pressure 2.65 bar |
| P0 | Flat or Bolster - Plain platform |
| P1 | Flat or Bolster - Two complete and fixed ends |
| P2 | Flat or Bolster - Fixed posts, either free-standing or with removable top member |
| P3 | Flat or Bolster - Folding complete end structure |
| P4 | Flat or Bolster - Folding posts, either free-standing or with removable top member |
| P5 | Flat or Bolster - Open top, open ends (skeletal) |
| S0 | Livestock carrier |
| S1 | Automobile carrier |
| S2 | Live fish carrier |

## Country code (optional)

The country code consists of two capital letters of the Latin alphabet as described in ISO 3166-1. It indicates the country where the code is registered not the nationality of the owner or operator of the container. The letters of the code shall not be less than 100 mm (3.9 in) high.

## Mandatory operational marks

Operational marks are intended solely to convey information requested for the movement of containers or give visual warnings. They relate to

* the weight of containers
* a symbol to denote air-surface container
* a sign warning of overhead electrical danger
* height marks for containers higher than 2,590 mm (8 ft 6 in)
