GTIN format comparison
| Format | Total digits | Common barcode context | Illustrative valid value | 14-digit representation |
|---|---|---|---|---|
| GTIN-8 | 8 | EAN-8 for small retail items | 96385074 | 00000096385074 |
| GTIN-12 | 12 | UPC-A at retail point of sale | 036000291452 | 00036000291452 |
| GTIN-13 | 13 | EAN-13 at retail point of sale | 4006381333931 | 04006381333931 |
| GTIN-14 | 14 | Cases, cartons and other packaging levels | 09506000134352 | 09506000134352 |
The examples demonstrate valid lengths and check digits only. They are not claims about product ownership or assignment.
Leading filler zeroes create a common field width
Systems often need one predictable database or message field. GS1 therefore uses 14-digit representations in contexts such as GS1 XML, AI (01) element strings and current GS1 Digital Link syntax. The shorter GTIN is placed at the right and padded on the left.
4006381333931same identityThe filler zero is not a newly assigned indicator digit. It preserves the identity of the shorter GTIN. GS1 explicitly distinguishes “GTIN encoded in 14-digit format” from an allocated GTIN-14.
Common misunderstandings
“Adding zeroes converts my GTIN into a new GTIN-14.”
No. Padding creates a representation for a fixed-width field. It does not create a different product identity.
“GTIN-14 is always the consumer unit.”
No. GTIN-14 is commonly used for higher packaging levels. Retail point-of-sale scanning commonly uses GTIN-8, GTIN-12 or GTIN-13 in EAN/UPC symbols.
“A valid 14-digit number proves a registered package.”
No. Length and check-digit validity do not prove assignment, ownership or the packaging level represented.
Sources and standards
Technical statements in this guide are grounded in current GS1 primary sources. The explanations are paraphrased for practical use.
- GS1: Global Trade Item NumberOfficial GTIN identification-key overview.
- GS1: GTIN, barcode, EAN and UPCOfficial terminology and common format contexts.
- GS1 2D Barcodes at Retail POS GuidelineClarifies 14-digit encoding and filler zeroes.