UPC vs. EAN: What's the Difference and Which to Use?
What is the difference between a UPC and an EAN barcode, and which one should I print?
Short answer
A UPC-A carries a 12-digit GTIN and an EAN-13 carries a 13-digit GTIN, and both belong to the same EAN/UPC symbology family. Adding a leading zero turns a UPC-A number into its EAN-13 form without changing the check digit. Print the format that matches the number you were issued; U.S. retail systems have been expected to read both since 2005.
On this page
You've seen both on packaging: a 12-digit UPC on most American products and a 13-digit EAN on many imports. If you're about to print barcodes for your own product, you may wonder whether you picked the wrong one, or whether a U.S. store will reject a 13-digit code.
The two are closer than they look. This guide compares them side by side, shows how one converts to the other, and explains when the small-package versions make sense.
UPC and EAN at a glance
All four formats below belong to the EAN/UPC symbology family, which is defined in ISO/IEC 15420, while GS1 sets the rules for the numbers inside. Each one carries a GTIN (Global Trade Item Number) of a particular length.
| UPC-A | EAN-13 | UPC-E | EAN-8 | |
|---|---|---|---|---|
| Number it carries | GTIN-12 | GTIN-13 | Compressed GTIN-12 | GTIN-8 |
| Digits shown under the bars | 12 | 13 | 8 | 8 |
| Where it's most common | U.S. and Canada | Most of the rest of the world | Small U.S. packages | Small packages outside North America |
| Width, including quiet zones | 113 modules | 113 modules | 67 modules | 81 modules |
| Scanned at retail checkout | Yes | Yes | Yes | Yes |
The width row comes from the GS1 General Specifications, which measure symbols in modules, the width of the narrowest bar. UPC-A and EAN-13 take up exactly the same space, so switching between them never changes your package layout.
Same barcode family, one extra digit
An EAN-13 has twelve visible symbol characters, just like a UPC-A. It fits a thirteenth digit in by changing the pattern of the left-half characters, which encodes the leading digit without adding any bars.
That leading digit is the whole difference. The General Specifications reserve a leading digit of 0 for symbols that carry a GTIN-12, and they note that a UPC-A may be decoded as a 13-digit number by adding an implied leading zero. In practice, a UPC-A is an EAN-13 whose first digit is zero.
You can tell them apart by the printed digits. On an EAN-13, the first digit sits to the left of the bars. On a UPC-A, both the first and last digits are printed in smaller type outside the bars.
Converting between UPC and EAN
Converting is a matter of the leading zero, not new math.
UPC-A to EAN-13. Add a 0 to the front. The sample GTIN-12 614141999996, built on the example company prefix 614141 that GS1 uses in its documentation, becomes 0614141999996. The check digit stays 6, because the added zero contributes nothing to the weighted sum the check digit is based on.
EAN-13 to UPC-A. This works only if the EAN-13 starts with 0. Drop the zero and you have a valid UPC-A. If the EAN-13 starts with any other digit, there's no UPC-A version of it, and you should print it as EAN-13.
Never "convert" an EAN-13 by deleting a non-zero first digit. The result is a different number that may belong to someone else's product.
The same logic stretches to 14 digits. Many databases store every GTIN as 14 digits with leading zeros, so 614141999996 is stored as 00614141999996. The General Specifications warn that zeros at the start of a GTIN-12 are part of the company prefix and must be kept. Spreadsheets often strip leading zeros unless you format the column as text, so watch for that when you import product lists.
If you want to confirm a number before printing, run it through the check digit calculator, which validates GTIN-8, GTIN-12, GTIN-13 and GTIN-14.
Will a U.S. store scan an EAN-13?
Generally, yes. GS1 US set January 1, 2005, as the deadline for North American retailers to scan and process 13-digit EAN codes alongside UPCs, an initiative known as 2005 Sunrise, according to Supermarket News. [VERIFY] GS1 US itself tells sellers they can be confident an EAN works in the U.S. and a UPC works in Europe.
The same 2005 report found a small number of small and midsize retailers still lagging. Today the risk is mostly an old point-of-sale system at a small shop. If one of your stockists runs older software, ask them to scan a sample before you print a full run.
Which one should you print?
Print the format that matches the number you were issued:
- GS1 US issued your number as a 12-digit GTIN: print UPC-A. That's what U.S. buyers expect to see.
- Your number has 13 digits starting with a non-zero digit, for example one issued by another country's GS1 office: print EAN-13.
- Your 13-digit number starts with 0: either works, but UPC-A is the conventional choice for U.S. retail.
The number has to be a real GTIN from GS1 in every case. A barcode generator draws the bars, but it can't issue a number. Our guide on how to get UPC barcodes covers where numbers come from. Licensing terms are set by GS1 and can change, and this is general information, not legal or financial advice.
The small versions: UPC-E and EAN-8
GS1 offers two compact formats for packages too small for a full-size symbol. Neither is a shortened copy of a longer number you already have.
UPC-E
UPC-E squeezes a GTIN-12 into six encoded digits by removing zeros. The General Specifications allow it only for GTIN-12s that start with 0 and contain four or five zeros in defined positions. Their example is the GTIN-12 012345000058, which compresses to 123455 and is printed with the leading 0 and check digit 8 as 0 123455 8. The scanner expands it back to the full 12 digits.
Most GTIN-12s don't have the zeros needed for UPC-E. GS1 US says on its barcode types page that it no longer licenses the UPC-E prefix and offers its Company Prefix or single GTIN instead. [VERIFY]
EAN-8
EAN-8 carries a GTIN-8, a separate 8-digit number. According to the General Specifications, GS1 member organizations assign GTIN-8s individually on request, for items whose packaging lacks room for an EAN-13. You can't create one by trimming an EAN-13.
Before you go small
Look for other room first: a hang tag, an outer sleeve or the bottom of the package. A full-size UPC-A or EAN-13 placed elsewhere is usually simpler than getting a number that qualifies for a small format.
Bottom line
UPC-A and EAN-13 are the same barcode family, the same width, and the same check digit method. A UPC-A is effectively an EAN-13 that starts with zero. Print UPC-A if GS1 US issued your 12-digit number, print EAN-13 if your number is 13 digits and doesn't start with zero, and reserve UPC-E and EAN-8 for packages that truly have no room. When you have a valid number, the barcode generator makes all four formats.
Sources
- GS1: GS1 General Specifications Standard
- GS1: EAN/UPC barcodes
- ISO: ISO/IEC 15420:2025 Information technology — Automatic identification and data capture techniques — EAN/UPC bar code symbology specification
- GS1 US: EAN Numbers and UPCs: What is the Difference?
- GS1 US: Types of Barcodes
- Supermarket News: Not All Retailers Scanning EAN Codes