Glossary

UPC (Universal Product Code)

A UPC (Universal Product Code) is the 12-digit numeric identifier encoded in the barcode on retail packaging in the US and Canada. It is assigned by the brand owner from a licensed GS1 company prefix and identifies one specific sellable item: a single size, color, and pack count. A UPC is not a separate standard from GTIN. It is a GTIN-12, the 12-digit member of the GTIN family.

What the 12 digits actually mean

A UPC-A barcode encodes 12 digits. Read left to right, they break into three parts.

PartDigitsWhat it means
GS1 Company PrefixFirst 6-10Licensed to the brand owner by GS1. Identifies the company, not the product.
Item referenceDigits 11 minus prefix lengthAssigned by the brand owner to one specific sellable item.
Check digitLast 1A mod-10 calculation over the first 11 digits.

The check digit exists to catch scanner misreads and keying errors. If someone types 012345679905 instead of 012345678905, the math returns 2 where the code claims 5, and the record can be rejected before it enters the catalog. Mod-10 catches every single-digit error, but it does not catch every transposition: some swapped-digit pairs still compute a matching check digit. Any validation rule you write should recalculate the check digit rather than trust the source file.

You will also see UPC-E, an eight-digit compressed symbol carrying six data digits, printed on small packages: a tube of thread sealant, a single automotive fuse. UPC-E is not a different number. It is a UPC-A with runs of zeros suppressed to save print width, and it expands back to the full 12 digits. Store the expanded UPC-A. Never store the compressed print form as the identifier of record.

UPC vs GTIN vs EAN vs everything else

This is the question behind most identifier confusion, and the answer is simpler than the vocabulary suggests.

IdentifierLengthWho assigns itWhere you see it
UPC-A (GTIN-12)12 digitsBrand owner, from a GS1 prefixUS and Canadian retail packaging
EAN-13 (GTIN-13)13 digitsBrand owner, from a GS1 prefixEurope, Asia, most of the world
GTIN-1414 digitsBrand ownerCase and inner-pack labels
ASIN10 charactersAmazonAmazon listings only
MPNNo fixed formatThe manufacturerSpec sheets, cut sheets, distributor catalogs

UPC and GTIN are not competing standards. UPC-A is GTIN-12. EAN-13 is GTIN-13. GTIN is the umbrella term GS1 uses for the whole family, and every member can be expressed at 14 digits by left-padding with zeros.

  • A UPC of 012345678905 stored as GTIN-13 is 0012345678905.
  • The same UPC stored as GTIN-14 is 00012345678905.
  • Same product, same number, different field width.

That padding rule is why a European trading partner asking for an EAN and a US retailer asking for a UPC are usually asking for the same digits.

Where UPCs break in real catalogs

UPC data almost never fails because the standard is hard. It fails because of handling.

  • Leading zeros vanish. A spreadsheet reads 012345678905 as a number and stores 12345678905. The code is now 11 digits and fails a length check. It is recoverable by re-padding to 12, but only if you know a zero was dropped.
  • Scientific notation. Longer codes display as 8.71234E+11. In the workbook this is a display format, not damage: precision survives to 15 significant digits, so a 12- or 14-digit value is still intact underneath. The corruption happens on round-trip. Export that cell to CSV and re-import it, and the rounded display string is what lands in the file.
  • The wrong code in the field. Vendors drop the ITF-14 case code into the UPC column, or send the compressed UPC-E.
  • Reuse. A brand retires a SKU and reassigns its number to something else. GS1 sets waiting periods for exactly this reason, and not everyone honors them.
  • One UPC across variants. A supplier ships the same UPC for a 3/8-16 Grade 8 hex bolt in a 25-count box and a 100-count box. Retailers reject the second listing as a duplicate.
  • Invented numbers. Internal SKUs padded to 12 digits, or codes using prefixes reserved for in-store and variable-weight use. They scan at the shelf and fail everywhere else.

What a UPC does not tell you

A UPC tells two systems that they are looking at the same product. It tells neither system what the product is.

012345678905 might be a 3/8-16 x 2 in. Grade 8 hex bolt, zinc-plated, sold 50 to a box. The number carries none of that. Not the thread pitch. Not the grade. Not the finish. Not the box quantity. Not the proof load.

That gap is where catalogs stall. A distributor can have a validated, GS1-legitimate UPC on every SKU in the file and still have most of the attribute columns empty. Matching by UPC is the easy half. The hard half is everything the match does not hand you.

Your PIM stores the UPC and the empty attribute fields next to it. Anglera does the work of finding the thread pitch, the grade, the finish, and the pack count in the manufacturer's spec sheet and filling those fields, so the identifier and the content land together instead of years apart.

Rules that keep UPC data trustworthy

Six habits cover almost every failure mode above.

  • Store it as text, fixed width. Never a numeric column, in the PIM, the ERP, or the export.
  • Recalculate the check digit on every ingest, not once at initial load. Vendor feeds change.
  • Normalize to GTIN-14 internally. Render back down to 12 digits for US channels that want a UPC. One internal shape, many outbound shapes.
  • One UPC per sellable variant. Parent and grouping records do not get one.
  • Keep the case GTIN in its own field, separate from the each-level UPC. They are different products to a trading partner.
  • Record the source and the date. When two systems disagree, provenance is the only thing that settles it.

Frequently asked questions

Is a UPC the same as a GTIN?

Effectively, yes. UPC-A is the 12-digit member of the GTIN family, formally called GTIN-12. GTIN is GS1's umbrella term covering GTIN-12 (UPC), GTIN-13 (EAN), and GTIN-14 (case codes). If a trading partner asks for a GTIN and you hold a 12-digit UPC, send it, left-padded with zeros to whatever width their field expects. Same product, same digits.

Do I need a UPC to sell on Amazon?

Amazon requires a GS1-issued GTIN for most new listings, and a UPC satisfies that requirement. Amazon checks the number against GS1 records, so codes bought from third-party resellers trace back to the original licensee and get rejected. Some categories and brand-registered sellers can apply for a GTIN exemption. The ASIN Amazon assigns after listing is Amazon's internal identifier, not a replacement for your UPC.

How do I get a UPC for my product?

You license a GS1 Company Prefix from your national GS1 organization, assign item reference numbers underneath it, and calculate the check digit. GS1 also sells individual GTINs for companies with only a handful of products. Buying UPCs from resellers is cheaper, but those numbers trace back to the original licensee, and any channel that verifies against GS1 records will flag them.

Why does my UPC lose its leading zero in Excel?

Excel treats a UPC as a number, so 012345678905 becomes 12345678905. That zero is destroyed. Scientific notation like 8.71234E+11 is different: the digits survive in the cell and only corrupt on CSV export and re-import. Format the column as text before pasting, type it as text on import, store it as a string in your PIM, and validate the check digit.

Does every product variant need its own UPC?

Yes. Every sellable variant gets its own UPC: each size, color, finish, and pack count. A UL listed 600V wire connector sold in a 25-count jar and a 100-count jar needs two distinct UPCs. The parent grouping record does not get one at all. Cases carry their own GTIN-14, stored in a separate field from the each-level UPC.

Related terms

See it on your own SKUs.

A 30-minute walkthrough on your categories and your supplier data.

Book a demo