Barcodes.GG Barcode standards

GTIN vs UPC: What is the Difference

People often ask whether a product needs a GTIN or a UPC. The honest answer is that a UPC already is a GTIN. This article clears up the relationship and shows how to move between them.

The Barcodes.GG team 3 min read

The short answer

GTIN and UPC are not two competing standards. GTIN is the umbrella term for GS1 trade item numbers, and UPC-A is the specific 12-digit barcode used mainly in the United States and Canada. The number inside a UPC-A barcode is a GTIN-12. So when a marketplace asks for a GTIN and all you have is a UPC, your UPC is the answer.

The confusion comes from the fact that GTIN entered common use later than UPC. Retail talked about UPC codes for decades before GS1 unified the naming, so many people still treat the two as separate things.

Why both terms exist

UPC was the original North American retail barcode. When Europe adopted a compatible 13-digit format, it became EAN-13. GS1 then introduced GTIN as a single name that covers UPC-12, EAN-13, EAN-8 and the 14-digit case code, so that software and data standards did not need a separate word for each length.

In other words, UPC is a barcode format and a length. GTIN is the identifier concept that spans every length. Every UPC is a GTIN, but not every GTIN is a UPC, because a 13-digit EAN or a 14-digit case code is also a GTIN.

FieldUPC-AEAN-13GTIN-14
Digits121314
Also known asGTIN-12GTIN-13Case code
Main regionUS and CanadaRest of worldGlobal logistics
IdentifiesConsumer unitConsumer unitCase or carton
BarcodeUPC-AEAN-13ITF-14
Is a GTINYesYesYes

Converting a UPC to a GTIN

Because a GTIN-12 fits inside a GTIN-13 or GTIN-14 by padding on the left with zeros, converting a UPC is simply a matter of width. A 12-digit UPC of 036000291452 becomes the GTIN-13 0036000291452 and the GTIN-14 00036000291452. The meaning is unchanged and the check digit stays the same because padding zeros on the left do not affect it.

Rather than pad by hand, run the value through the GTIN converter. If you only need to confirm the final digit of a UPC is correct, use the UPC check digit calculator.

Marketplaces make this concrete. When Amazon or Google Shopping asks for a GTIN and you sell a North American product, you paste your 12-digit UPC straight into the GTIN field and it validates. There is nothing to convert, because the UPC already is a GTIN-12. The only time you touch the width is when a system insists on 13 or 14 digits, and then you pad on the left with zeros.

Storing mixed UPC and EAN data

If your catalog mixes North American UPCs and international EANs, do not store them at their native widths. Normalize everything to 14 digits with leading zeros so that a UPC and its zero-padded EAN twin resolve to the same key. This prevents the common bug where the same product appears twice because one row held 12 digits and another held 13.

Before importing, pass each value through the barcode validation tool to strip whitespace, reject bad check digits and confirm the length is one of the four valid GTIN sizes.

Warning

Do not store a UPC as a number type. A leading zero on a 12-digit code is significant, and a numeric column will silently drop it, turning 012345678905 into 12345678905 and breaking every lookup. Store GTINs as fixed-width text.

Frequently asked questions

Can I use a UPC where a GTIN is required?

Yes. A UPC-A is a GTIN-12, so it satisfies a GTIN requirement directly. If the field expects 13 or 14 digits, pad your UPC on the left with zeros.

Does converting a UPC to a GTIN change the check digit?

No. Padding zeros on the left does not change the check digit, because those positions contribute nothing to the mod 10 calculation. The check digit only changes if you build a GTIN-14 with an indicator digit.

Is EAN a UPC?

Not exactly. EAN-13 is the 13-digit GTIN, and UPC-A is the 12-digit GTIN. A UPC padded with one leading zero is a valid EAN-13, so they are compatible but not the same length.