CPG Terms Explained, a series by Cyril Ovely

SKU vs UPC vs EAN vs Barcode: How Product Codes Fit Together

Pick any product off a shelf and it carries several identities at once, assigned by different people for different reasons. This article is the map: one comparison table, one product followed from brand to checkout, and a clear answer to what each code is actually for.

The comparison table worth bookmarking

Most confusion in this space comes from five distinct ideas being used almost interchangeably. Here they are, side by side:

CodeWhat it isWho assigns itStandardizedFormat
GTINThe global family of product identification numbersGS1 (licensed)Yes8, 12, 13, or 14 digits
UPCThe 12 digit GTIN, used mostly in the US and CanadaGS1Yes12 digits
EANThe 13 digit GTIN, used worldwideGS1Yes13 digits
BarcodeThe machine readable symbol printed on the packWhoever prints the labelSymbologies are standardized, payloads are notBars and spaces, or a 2D matrix
SKUA company's own internal code for a sellable itemThe company itselfNo, neverAlphanumeric, any structure

Read down the table and the pattern is clear. GTIN, UPC, and EAN are the same idea at different lengths, all licensed from one standards body. The barcode is not a number at all but a picture of one. And the SKU is the only code in the list that belongs to the company using it. If you remember nothing else from this series, remember that split: global numbers, one symbol, and a private name.

One product, four identities: a journey

Tables are abstract, so follow one item, the Alpha Coffee Original 200g jar used throughout this series, from launch to checkout:

  • The brand licenses a GS1 company prefix and assigns identifiers per packaging level: GTIN 012345678901 for the jar, a GTIN-14 for the case of 12. In its own systems the jar is AC-ORG-200. The unit label is printed as a UPC-A or EAN-13 symbol, and the case gets an ITF-14 symbol carrying the GTIN-14.
  • The distributor onboards the range and creates its own SKU for the jar, say BEV-04412, mapped to the brand's GTINs. At the dock, receiving scans the case level ITF-14 codes to confirm what arrived against the purchase order.
  • The retailer lists the jar under its own item number for assortment and pricing, mapped to the same GTIN. At the point of sale, the scanner reads the EAN-13 on the jar and the store system resolves it to a price and a sale.
  • The field rep who services that store works in yet another layer: orders are placed against the distributor's SKU, shelf checks confirm the jar is available, and any discrepancy flows back against the same mapping.

One jar, four identities: the brand's SKU, the distributor's SKU, the retailer's item number, and the GTIN under the barcode. Each exists because a different organization needs to manage the same physical thing in its own systems. The mapping between them is the quiet infrastructure that makes the whole chain agree.

What each code is for, in one line each

  • GTIN: global identity. One number per product configuration, valid in every system on earth.
  • UPC and EAN: the two regional lengths of that same number.
  • Barcode: machine readable capture. The fastest way to get the number into a system without typing it.
  • SKU: internal operations. The code a company uses to stock, sell, count, and report on the item.

What channels actually require

A point worth stating plainly, because it is often overstated: GTIN requirements are channel rules, not law. Sell only through your own store and a SKU is enough; you can even barcode it yourself in a general purpose symbology. Sell through supermarkets, large retailers, or major marketplaces and they will require GS1 licensed GTINs, validated against the GS1 registry. Some marketplaces grant exemptions for handmade or private label items in specific categories, but the default expectation for branded CPG products is a licensed GTIN at every packaging level.

Where confusion gets expensive

  • Variant collisions. Two variants sharing one code, internally or globally, corrupt stock records, orders, and sales history simultaneously, and the corruption is discovered late.
  • Listing suppression. Marketplaces and retailers validate GTINs against the GS1 registry. Numbers that do not match the company presenting them get listings rejected.
  • Reprinting costs. Discovering a numbering error after packaging is printed means new artwork, new plates, and wasted stock, all to fix what was a data decision.
  • Mapping drift. The SKU to GTIN to retailer item mapping degrades quietly as products relist, repackage, and renumber. By the time anyone notices, receiving discrepancies and invoice disputes are routine.

Quick FAQ

Can I invent my own SKU codes? Yes. SKUs are internal and unregulated, so the format is yours to design. The discipline is in keeping codes consistent, documented, and mapped to every external identifier the product carries.

Do I need to buy a barcode? If your channels require it, you license a GTIN from GS1, and the barcode symbol is generated from that number. The license covers the number; printing the symbol is artwork.

Is an EAN just a European UPC? No. EAN-13 is the global 13 digit form, and UPC-A is the 12 digit North American form. They are one numbering family, and any UPC becomes a valid EAN by adding a leading zero.

Does the barcode store the price? No. The barcode encodes a number, and the system looks up the price. That is why the same product can carry different prices at different stores without changing the packaging.

Glossary recap

  • GTIN: Global Trade Item Number, the GS1 identifier family in 8, 12, 13, and 14 digit forms.
  • UPC-A / UPC-E: the 12 digit retail number and its zero suppressed small pack form.
  • EAN-13 / EAN-8: the 13 digit global retail number and its small pack form.
  • JAN: Japan's implementation of the EAN system.
  • ISBN / ISSN: book and serial publication identifiers, living inside the EAN number space.
  • ITF-14: the symbology used for GTIN-14 case codes.
  • GS1-128: a logistics symbology carrying GTINs plus batch, lot, expiry, and serial data.
  • Code 128 / Code 39: general purpose symbologies used for internal SKU labels.
  • QR Code: a 2D symbology for URLs and consumer facing payloads.
  • Check digit: the final computed digit that catches transcription errors.
  • GS1 Company Prefix: the licensed number block from which a company assigns its GTINs.
  • SSCC: the serial code identifying an individual logistics unit such as a pallet.
  • ASIN: Amazon's catalog identifier, one of several external IDs a SKU maps to online.

The takeaway

Product identification is a small system with a clean logic. GS1 owns the global numbers, UPC and EAN are its two regional lengths, the barcode is the symbol that carries them, and every company that handles the product adds its own SKU on top. None of this is glamorous. But it is the difference between a supply chain where every scan confirms reality and one where every scan is a small bet on someone's spreadsheet.

For teams running distribution, the practical lesson is that product master data, the SKUs, the GTINs per packaging level, and the mappings between them, deserves the same discipline as finance or payroll. Keep one register, assign codes before launch, and never reuse what is retired. The system rewards exactly that much care. In Lighthouse, this product master data sits underneath distribution, execution, and trade workflows, so orders, deliveries, and store audits all resolve against the same identifiers.

Sources and further reading


Lighthouse for CPG

See how Lighthouse turns these terms into retail execution

Lighthouse connects distribution, execution, trade, and supply into one system your commercial teams act on at the store and SKU level.

Request a demo
Cyril Ovely
Co-Founder and CTO, Vxceed

Cyril is the Co-Founder and CTO at Vxceed. With over two decades of experience in engineering and entrepreneurship, he focuses on building scalable SaaS solutions that transform demand chain execution and help businesses operate with greater agility in evolving markets.