Guide

GTIN-8, GTIN-12, GTIN-13 and GTIN-14 explained

Compare the four GTIN lengths, preserve leading zeros and choose the representation required by the receiving workflow.

Reviewed

On this page

Direct answer

GTIN-8, GTIN-12, GTIN-13 and GTIN-14 are fixed-length forms of the Global Trade Item Number. Their names state the total number of digits, including the final check digit. They support different allocation and application contexts, but all four should be stored and exchanged as character strings.

Do not choose a form only by adding zeros until a field accepts the value. Start with the identifier assigned for the trade item, then follow the documented representation required by the receiving system. Preserve both the source and any explicit normalized representation.

What each length tells you

GTIN-8 has eight digits and is commonly associated with items where packaging space is constrained, subject to allocation rules. GTIN-12 has twelve digits and is the form commonly called UPC in North American retail contexts. GTIN-13 has thirteen digits and is often called EAN. GTIN-14 has fourteen digits and is used as the common database representation and for trade-item identification contexts that include packaging levels.

Length does not reveal a product name or owner. It also does not prove that the number was allocated. The internal composition depends on the allocation arrangement, and a local validator should not guess company identity from a prefix.

Every supported form ends with a Modulo-10 check digit. The body lengths are therefore 7, 11, 12 and 13 digits respectively. This distinction is useful when a calculator asks whether the user entered a body or a complete number.

Worked example

Suppose a data file contains a value that visually appears to have eleven digits, while the source label shows twelve characters beginning with zero. The spreadsheet probably treated the value as a number and removed the leading zero. The correct recovery is to re-import the source column as text, not to guess which zero belongs at the front.

In another workflow, a trading-partner interface documents a fourteen-character GTIN field. A shorter GTIN may be represented with left padding in that specific interface. That normalized database representation must be distinguished from issuing a new identifier or changing the value printed in its original carrier.

TEST / SYNTHETIC / NOT FOR COMMERCIAL USE. The examples describe data handling and do not supply an assigned GTIN.

Selecting a calculator mode

If you have a complete GTIN, select full-number validation and keep the final character as the entered check digit. If you have only the body, select the intended GTIN type before calculating. A 12-digit input is ambiguous without context: it can be a complete GTIN-12 or the body from which a GTIN-13 check digit will be produced.

No-guess behavior is safer than convenience. A tool should show possible interpretations and ask for a selection. Silent classification can generate a plausible but wrong result that later passes a structural check.

For batch data, map the identifier column explicitly. Do not validate every numeric-looking column, and do not coerce blank cells or scientific notation into identifiers.

Common mistakes

  • Counting only body digits and forgetting that the name includes the check digit.
  • Treating a GTIN as an integer and losing leading zeros.
  • Assuming GTIN-14 always means a shipping container; packaging and identification context still matter.
  • Converting every shorter value to fourteen digits without a receiving-system requirement.
  • Assuming GTIN-12 and UPC-A describe identical concepts in every sentence; one is the identifier form and one is a carrier name.
  • Reading country or ownership conclusions from visible prefix digits.

Limits and what is not checked

Length, numeric characters and a matching final digit establish structural evidence only. BarcodeOpsKit does not allocate GTINs, verify a GS1 Company Prefix, confirm registration or ownership, identify the product or packaging level, or decide which representation a trading partner requires.

The validator also does not inspect the carrier. A correct GTIN can be encoded in a symbol that is too small, clipped, low contrast or otherwise unsuitable for physical scanning. Conversely, readable bars can contain an unassigned or incorrectly associated number.

Use the GTIN, UPC and EAN validator for a complete value. It preserves leading zeros, lists possible supported interpretations and shows expected versus entered check digits. Use the check digit calculator when you have a body and an explicitly chosen GTIN form.

Sources and review

This guide was reviewed on 2026-07-13 against GS1 General Specifications 26.0.0 and the GS1 Identification Keys reference material. The review records structure and terminology, not an allocation or ownership lookup. BarcodeOpsKit is independent from GS1.

Read GTIN vs UPC vs EAN for identifier-versus-carrier terminology and How GS1 check digits work for the shared Modulo-10 method.

Four GTIN lengths share one final position

GTIN-8, GTIN-12, GTIN-13, and GTIN-14 rails align at their final check digit despite different body lengths.
Aligned rails preserve every leading position while isolating the calculated check digit at the right edge.

Original workflow aid

GTIN length reference

The form name counts the complete identifier, including its final check digit; every value must remain a string.

Complete and body lengths for the four GTIN forms
FormComplete lengthBody lengthHandling reminder
GTIN-88 digits7 digitsDo not infer allocation from short length
GTIN-1212 digits11 digitsPreserve a leading zero
GTIN-1313 digits12 digitsDistinguish body mode from full-number mode
GTIN-1414 digits13 digitsUse only the representation the workflow specifies

Related local tool

Check a complete GTIN

Source record