
Container ISO type codes demystified
The short answer to what the type codes on containers mean: 20ft general purpose is 22G1, 40ft general purpose is 42G1, 40ft high cube containers are 45G1. That’s all, have a great day!
Oh you wanted to know more about these codes? Great, welcome! You are about to be introduced to the magical ISO standard known as ISO 6346. That standard specifies how container numbers work and what the size type codes denote.
The basics: 4 characters
Every ISO 6346 type code can be deconstructed in three parts:
- Character 1, denoting the length of the container (e.g. 20ft/40ft/45ft/53ft)
- Character 2, denoting the height and width of the container (e.g. high cube, pallet wide)
- Characters 3 and 4, denoting the usage type and features to some degree.
First Character: Container Length
So here is the full lookup table for the first character:
| 1st Character | Length in feet | Length in mm |
|---|---|---|
| 1 | 10 ft | 2,991 mm |
| 2 | 20 ft | 6,058 mm |
| 3 | 30 ft | 9,125 mm |
| 4 | 40 ft | 12,192 mm |
| 5 | 45 ft | 13,716 mm |
| A | - | 7,150 mm |
| B | 24 ft | 7,315 mm |
| C | 24.5 ft | 7,430 mm |
| D | - | 7,450 mm |
| E | - | 7,820 mm |
| F | - | 8,100 mm |
| G | 41 ft | 12,500 mm |
| H | 43 ft | 13,106 mm |
| M | 48 ft | 14,630 mm |
| N | 49 ft | 14,935 mm |
| P | 53 ft | 16,154 mm |
Footnote 1: The ISO 6346 specification states that all imperial dimensions are the nominal length, not the actual one. This has to do with the fact that smaller containers leave space for twistlocks, so that 2x 20ft containers plus a twistlock in between will ‘sum’ to a 40ft. The actual length for a nominally 20ft container is 19 ft and 10.5 inches, as per the ISO 668 spec.
Footnote 2: Before 2022, the letter L was in use for 45ft length containers. In the 2022 edition of the ISO spec this has been reassigned from L to 5. A container designated 5EG1 and LEG1 are equivalent.
Second Character: Width and Height
Here is the lookup table for the second character:
| 2nd Character | Width in feet | Height in feet | Width in mm | Height in mm |
|---|---|---|---|---|
| 0 | 8 ft | 8 ft | 2,438 mm | 2,438 mm |
| 2 | 8 ft | 8.5 ft | 2,438 mm | 2,591 mm |
| 4 | 8 ft | 9 ft | 2,438 mm | 2,743 mm |
| 5 | 8 ft | 9.5 ft | 2,438 mm | 2,896 mm |
| 6 | 8 ft | > 9.5 ft | 2,438 mm | > 2,896 mm |
| 7 | 8 ft | 4 - 8 ft | 2,438 mm | 1,219 - 2,438mm |
| 8 | 8 ft | 4.25 ft | 2,438 mm | 1,295 mm |
| 9 | 8 ft | <= 4 ft | 2,438 mm | <= 1,219 mm |
| C | 8 - 8.167 ft | 8.5 ft | 2,438 - 2,500 mm | 2,591 mm |
| D | 8 - 8.167 ft | 9 ft | 2,438 - 2,500 mm | 2,743 mm |
| E | 8 - 8.167 ft | 9.5 ft | 2,438 - 2,500 mm | 2,896 mm |
| F | 8 - 8.167 ft | >9.5 ft | 2,438 - 2,500 mm | > 2,896 mm |
I have simplifies this a bit, the standard also defines codes R/S/T/U for containers with a width >2,438 mm but <= 2,500mm with a width of 2,438 mm at the corner fittings. I do not know for sure, but suspect this is for containers ‘bulging’ out from the side, like some tank containers do. On top of that, L/M/N/P is also defined for containers with a width >2,500mm.
Third + Fourth Character: Type and Features
The last two characters are for the featureset or type of container. For instance G1 is a general purpose ventilated container (“dry”), and T0, T1, T2 and so on are various types of tank containers. I will not exhaustively list them here, but here are some common ones:
| 3rd + 4th character | Description |
|---|---|
| G0 | General - Openings at one or both ends |
| G1 | General - Passive vents at upper part of cargo space |
| GB | General - Same as G1, but with reduced vertical load capacity, cannot take more than 3 fully loaded containers on top |
| T1 | Tank - Non-dangerous liquids, minimum pressure 1.5 bar |
| P3 | Flat Rack - Folding end structures |
| U0 | Open Top - Openings at one or both ends |
| R1 | Reefer - Mechnically refrigerated and heated |
The Fourth Character: Maximum Stacking Weight
Important here is the distinction between the numbers and the letters for the fourth character. This denotes reduced stacking capacity. For instance G1 and GB are the same type of container, the only difference is that the GB one cannot carry the full 192,000 kg stacking load on top of it like the G1 can. This distinction was introduced in an amendment to the ISO 6346 spec in 2012.
Typically all regular containers are assumed to have a stacking capacity of at least 192,000 kg, but due to the increased adoption of shipping containers in air freight and purely land based transportation, where these requirements just mean heavier containers and thus reduced cargo carrying capacity for little to no benefit, the letters got standardized. This means that G0 got a GA equivalent, G1 got a GB equivalent. Sadly this does not entirely follow the numbering, because G2 for instance becomes GD.
In particular it is worth nothing 5EGB or LEGB containers, these are relatively common in mainland Europe as they are the maximum length legally transportable over roads, are wide enough for euro pallets side-by-side, fit maximum cargo height wise, and typically these do not get stacked very high and often not at all. They effectively act like truck tautliners for many transport companies.
Common types
| ISO type | Description | Usage | |—|—| | 22G1 | 20ft General Purpose | Heavy goods, steel for example | | 42G1 | 40ft General Purpose | Low weight to volume goods, clothing, plastics | | 45G1 | 40ft General Purpose High Cube | Low weight to volume goods, with 1ft extra height | | 45R1 | 40ft Refrigerated High Cube | Food stuffs, medical supplies | | 5EG1 or 5EGB | 45ft General Purpose High Cube Pallet Wide | Common in European mainland transport, fits euro pallets side-by-side due to increased width. Maximum length that can be transported on (most) European road networks |
Weird Stuff
So now that we have the basics covered, let’s dive into the mysterious depths of these codes!
What even is a 20DV ?
So as it turns out, ISO codes are kind of unintuitive, and sometimes overly prescriptive. This is why a lot of systems and people use their own non-standard type codes, like 20GP for 20ft General Purpose, or 20DV for 20ft Dry Ventilated, and 40HC for 40ft High Cube. While this certainly is more intuitive, the fragmentation is painful, and almost no system-to-system communication uses this.
What even is a 22GP ?
The ISO spec specifies ‘group type codes’, which describe an entire purpose/feature group under one code. For instance 22G1, 22G2, 22GB are all in the GP (General Purpose) group. Therefore if you want to specify a 20ft general purpose container but without specifying the type exactly, you could opt to go for 22GP. Other group codes are VH for Ventilation, BU for Dry Bulk, RE/RT for Reefers, UT for Open Top, PC for Folding Flatracks, and KL for Tanks.
So what is the ISO code for a 20ft Heavy Tested / 20ft Heavy Duty?
Short answer: 22G1. Long answer: heavy tested or heavy duty refers to the maximum cargo capacity or total maximum gross weight of a container. This information is NOT represented in the ISO type code, and cannot be derived from it.
The best way to register this in a system is for each unique container to track the maximum gross weight as mentioned on the outside of the unit.
What even is a 4510 ?
If you are older and reading this, or dealing with older systems a lot, you might wonder why none of the above mentions codes like 2210 or 4510. ISO 6346 is an old standard, and the ISO 6346 1984 edition used a different type code, and some older systems to this day use that designation. Because that type code is less specific, some shipping lines will still use 4510 to mean ‘any 45 general purpose container’, as a catch all for 45G0 / 45G1 / 45G2. Older containers marked with older codes under ISO 6346 do not need to be remarked, but it is rare to find containers old enough to be marked with the old system nowadays.
What even is a 5EG1 ?
So in the 2022 revision of ISO 6436, the 5 designation for 45ft long containers got introduced, to replace the old L first character. Containers previously known as LEG1 would now become 5EG1 for instance.