GTIN vs. EAN: the difference, the formats, and how to manage them

GTIN, EAN, UPC — three words that mostly describe the same thing. The naming is simple once you see the system; the real work is keeping the numbers intact.

Jakob Feinböck, Gründer von ProductbayJuly 25, 20265 min read
☝️Key takeaways
  • GTIN is the umbrella term; EAN is the older name for the 13-digit variant, today GTIN-13.
  • Formats: GTIN-8, GTIN-12, GTIN-13, GTIN-14 — the last one for trade units, not the consumer item.
  • Numbers are issued via the GS1 system and usually reach retailers from the manufacturer.
  • Most real-world problems are data handling: lost leading zeros, text/number confusion, duplicates.

Ask three people in e-commerce what the difference between a GTIN and an EAN is and you'll get three answers. The honest one is: mostly none — they're different names from different eras for the same kind of number.

The short version

GTIN (Global Trade Item Number) is the umbrella term used in the GS1 system. EAN (European Article Number) is the older name for the 13-digit variant, which is officially called GTIN-13 today. When a supplier sends you an "EAN" and a marketplace asks for a "GTIN", they usually mean the same 13 digits.

The formats

FormatDigitsTypically used for
GTIN-88Very small packaging where a full code doesn't fit
GTIN-1212The format historically known as UPC in North America
GTIN-1313The standard consumer item code, formerly EAN-13
GTIN-1414Trade units such as cartons — not the single consumer item

The distinction that trips retailers up most often is the last one: a GTIN-14 identifies the case, not the piece. Putting it on the consumer offer is a common source of rejected listings.

Where the numbers come from

Identifiers are issued through the GS1 system: a company obtains a GS1 company prefix and forms identifiers within it. As a retailer you normally don't create them — the manufacturer or brand owner does, and the number reaches you as part of the product data. GS1 is the authority on the standard itself; for the binding rules, go to their documentation.

Where it actually goes wrong

Almost never in the standard. Nearly always in the handling:

  • Lost leading zeros. A spreadsheet reads the identifier as a number and silently drops the leading zero. The value looks fine and is wrong.
  • Text vs. number. The same identifier stored differently in two systems no longer matches.
  • One identifier on several variants. Different sizes sharing a GTIN break marketplace matching.
  • Missing on the longtail. Core products have identifiers; accessories and niche items often don't.

Each of these shows up far downstream — as a rejected marketplace listing — long after the actual mistake happened during an import.

Keeping them clean

The fix is structural: treat identifiers as text throughout, validate them on import rather than at upload, make missing values visible per product group, and never let a spreadsheet round-trip be part of your process. In a PIM this is the default behaviour — identifiers are held in a defined field, checked on import and exported per channel unchanged. See also what is a SKU for the internal counterpart.

Frequently Asked Questions

Keep identifiers intact across channels

Book a demo — we'll show how identifiers survive import, enrichment and export without corruption.

Get started