Professional Documents
Culture Documents
ISO 6346
From Wikipedia, the free encyclopedia
ISO 6346 is an international standard covering the coding, identification and marking of
intermodal (shipping) containers used within containerized intermodal freight transport.
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 standard is managed by the
International Container Bureau (BIC).
Contents
1 Identification System
1.1 Owner Code
1.2 Equipment Category Identifier
Identification System
Example of an ISO 6346 conform container number:
http://en.wikipedia.org/wiki/ISO_6346
1/11
6/29/2014
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 Conteneurs in Paris to ensure
uniqueness worldwide.
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
accuracies of the owner code and serial number.
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
10
12
13
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
31
32
34
35
36
37
38
http://en.wikipedia.org/wiki/ISO_6346
2/11
6/29/2014
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 2position , 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
20
21
22
23
24
25
26
27
28
29
16
32
64
128
256
512
Calculation Step 3
a) Sum up all results of step 2
b) Divide them by 11
c) Erase all decimal digits of the division (i. e. make the result an integer value)
d) Multiply the integer value by 11
e) Subtract result of d) from result of a): 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 b) to e) is a calculation of the remainder found after division of a) by 11. Most programming
languages have a modulo operator for this. Attention should be paid on how it is working in the language chosen; i.
e. if it is giving 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
http://en.wikipedia.org/wiki/ISO_6346
3/11
6/29/2014
13
30
28
32
16
32
64
128
256
512
13
60
112
256
48
320
512
768
4096
b) Division by 11:
Calc.
6185 [a)]
562.272...
562
d) Multiply by 11:
6182
Code Sample 1
Below is a code Snippet implementing the above algorithm in MATLAB validating string "cid":
%% Step 1
char2num = [10 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 34 35 36 37 38];
msk = logical([1 1 1 1 0 0 0 0 0 0 0]); % mask separating digits from numbers
cid( msk) = char2num(cid( msk)-'A'+1);
% letters to numbers conversion
cid(~msk) =
cid(~msk)-'1'+1;
% digit characters to numbers conversion
vec = double(cid);
%% Step 2
num = sum(vec(1:10).* 2.^(0:9));
%% Step 3
check_digit = mod(mod(num,11),10);
valid = (check_digit==vec(11));
Code Sample 2
Below is the Visual Basic (VBA) code to create a custom "ISO6346Check" function in Microsoft Excel (Alt +
F11) that returns the correct check digit:
Function ISO6346Check(k As String) ' Calculates the ISO Shipping Container Check Digit
Dim i%, s&
Application.Volatile
For i = 1 To 10
s = s + IIf(i < 5, Fix(11 * (Asc(Mid(k, i)) - 56) / 10) + 1, Asc(Mid(k, i)) - 48) * 2 ^ (i - 1)
Next i
ISO6346Check = (s - Fix(s / 11) * 11) Mod 10
End Function
Practical Problems
http://en.wikipedia.org/wiki/ISO_6346
4/11
6/29/2014
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, 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 conformant
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.
Description
20G1
20H0
INSULATED CONTAINER
20P1
20T3
TANK CONTAINER
20T4
TANK CONTAINER
20T5
TANK CONTAINER
20T6
TANK CONTAINER
20T7
TANK CONTAINER
20T8
TANK CONTAINER
20T0
TANK CONTAINER
20T1
TANK CONTAINER
20T2
TANK CONTAINER
22B0
BULK CONTAINER
22G0
22G1
20HR
20PF
20TN
Description
GENERAL PURPOSE CONT.
20TG
Code
20G0
20GP
20TD
TANK CONTAINER
TANK CONTAINER
TANK CONTAINER
22BU
BULK CONTAINER
22GP
http://en.wikipedia.org/wiki/ISO_6346
5/11
6/29/2014
22HR
22PC
INSULATED CONTAINER
FLAT (COLLAPSIBLE)
22H0
INSULATED CONTAINER
22P3
FLAT (COLLAPSIBLE)
22P8
22P9
FLAT (COLLAPSIBLE)
22P1
22P7
22PF
22RC
22R9
22RS
22R7
22RT
REEFER CONTAINER
22R1
REEFER CONTAINER
22SN
22S1
22T3
TANK CONTAINER
22T4
TANK CONTAINER
22T5
TANK CONTAINER
22T6
TANK CONTAINER
22T7
TANK CONTAINER
22T8
TANK CONTAINER
22T0
TANK CONTAINER
22T1
TANK CONTAINER
22T2
TANK CONTAINER
22TD
22TG
22TN
TANK CONTAINER
TANK CONTAINER
TANK CONTAINER
22UP
HARDTOP CONTAINER
22U6
HARDTOP CONTAINER
22UT
22U1
22V0
VENTILATED CONTAINER
22V2
VENTILATED CONTAINER
22V3
VENTILATED CONTAINER
22VH
VENTILATED CONTAINER
25GP
GP-CONTAINER OVERHEIGHT
25G0
GP-CONTAINER OVERHEIGHT
26GP
GP-CONTAINER OVERHEIGHT
26G0
GP-CONTAINER OVERHEIGHT
26HR
INSULATED CONTAINER
26H0
INSULATED CONTAINER
28TG
28T8
28UT
28U1
28VH
VE-HALF-HEIGHT =1448 MM
HEIGHT
28V0
VE-HALF-HEIGHT =1448 MM
HEIGHT
29PL
PLATFORM
29P0
PLATFORM
http://en.wikipedia.org/wiki/ISO_6346
6/11
6/29/2014
2EGP
42GP
42HR
INSULATED CONTAINER
42PC
FLAT (COLLAPSIBLE)
2EG0
42G0
42G1
42H0
INSULATED CONTAINER
42P3
FLAT (COLLAPSIBLE)
42P8
42P9
FLAT (COLLAPSIBLE)
42PF
42P1
42PS
42P6
42RC
42R9
42RS
42R3
42RT
REEFER CONTAINER
42R1
REEFER CONTAINER
42SN
42S1
42TD
TANK CONTAINER
42T5
TANK CONTAINER
42T6
TANK CONTAINER
42TG
TANK CONTAINER
42T8
TANK CONTAINER
42TN
TANK CONTAINER
42T2
TANK CONTAINER
42UP
HARDTOP CONTAINER
42U6
HARDTOP CONTAINER
42UT
42U1
45BK
BULK CONTAINER
45B3
BULK CONTAINER
45GP
45G0
45G1
45PC
FLAT (COLLAPSIBLE)
45P3
FLAT (COLLAPSIBLE)
45P8
45RC
45R9
45RT
REEFER HIGHCUBE
CONTAINER
45R1
REEFER HIGHCUBE
CONTAINER
45UT
45U1
45UP
45U6
46HR
INSULATED CONTAINER
46H0
INSULATED CONTAINER
48TG
48T8
49PL
PLATFORM
49P0
PLATFORM
4CGP
GP CONTAINER
4CG0
http://en.wikipedia.org/wiki/ISO_6346
7/11
6/29/2014
L0GP
L0G1
L2GP
L2G1
L5GP
L5G1
Use the below to calculate Size/Type of a less commonly used ISO 6346 containers:
ISO Length Codes
Code
Container length
Container
height
Code
10
20
86
30
40
96
24
> 96
246
43
41
<= 4
43
86
45
48
96
49
> 96
Width
Description
G0
G1
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
V2
V4
R0
R1
R2
R3
H0
Refrigerated or heated with removable equipment located externally; heat transfer coefficient
http://en.wikipedia.org/wiki/ISO_6346
8/11
6/29/2014
K=0.4W/M2.K
H1
H2
Refrigerated or heated with removable equipment located externally; heat transfer coefficient
K=0.7W/M2.K
H5
H6
U0
U1
U2
Open Top - Openings at one or both ends + openings at one or both sides
U3
U4
Open Top - Openings at one or both ends + partial on one and full at other side
U5
T0
T1
T2
T3
T4
T5
T6
T7
T8
T9
B0
Bulk - Closed
B1
Bulk - Airtight
B3
B4
B5
B6
P0
P1
P2
Flat or Bolter - Fixed posts, either free-standing or with removable top member
P3
P4
Flat or Bolter - Folding posts, either free-standing or with removable top member
P5
http://en.wikipedia.org/wiki/ISO_6346
9/11
6/29/2014
S0
Livestock carrier
S1
Automobile carrier
S2
References
Bureau International des Containers: Containers BIC-Code (printed brochure)
Container Numbering Guide (http://www.containerhandbuch.de/chb_e/stra/stra_03_03_00.html)
See also
Standard Carrier Alpha Code
UIC wagon numbers
The following is a list of further freight container related ISO specifications, where not all have an article
assigned yet (you can help improve Wikipedia and start one):
ISO 668 - Freight containers - Classification, dimensions and ratings
ISO 830 - Freight containers - Terminology
ISO 1161 - Freight containers - Corner fittings - Specification
ISO 1496 - Freight containers - Specification and testing
ISO 2308 - Hooks for lifting freight containers of up to 30 tons capacity - Basic requirements
ISO 3874 - Freight containers - Handling and securing
ISO 8323 - Freight containers - Air/surface (intermodal) general purpose containers - Specification and tests
http://en.wikipedia.org/wiki/ISO_6346
10/11
6/29/2014
External links
Bureau International des Containers (BIC) (http://www.bic-code.org)
Intermodal Check Digit Calculator (http://www.gwii.com/check-digit-calculator.html)
BIC Code Identifier (http://www.bic-code.org/official-register-containers-bic-code.html)
Freight Container Check Digit Calculator (http://checkdigit.tripod.com/) (includes Java source code for
download *Static Java Method does not convert "10" check digit to "0")
ITCO technical questions (http://www.itco.be/itco_technical.htm)
List of owner codes (http://www.prefixlist.com/) (not the official BIC site)
Online check digit calculator (http://www.cassilon.com/checkdigit.cfm)
Russian maritime register of shipping - BIC representation (http://www.rshead.spb.ru/en/s_container01_en.php)
Container numbers validator (http://shipping-container-info.com/container-number/check-digit-validator)
Get container dimensions and type by ISO code (http://shipping-container-info.com/size-type-info/shippingcontainer-size-type)
Retrieved from "http://en.wikipedia.org/w/index.php?title=ISO_6346&oldid=614062918"
Categories: ISO standards Intermodal containers Port infrastructure Checksum algorithms
This page was last modified on 23 June 2014 at 08:17.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply.
By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia is a registered trademark
of the Wikimedia Foundation, Inc., a non-profit organization.
http://en.wikipedia.org/wiki/ISO_6346
11/11