UPC vs EAN: Which One Do You Actually Need?
UPC-A and EAN-13 are the same standard with a different digit count. How to pick one, and the few cases where the choice matters.
It almost never matters which one you print. Modern scanners read both, and retail point-of-sale systems treat them as the same number with a different amount of padding. If you sell anywhere outside the United States and Canada, print EAN-13. If a US retailer's system is old enough to reject a leading zero, print UPC-A for that retailer.
The short history you need
UPC came first, in 1974, for US and Canadian grocery. It's 12 digits. EAN came next, in 1977, when Europe standardized on the same symbology and added a 13th digit so the numbering space could hold the entire world. In 2005 EAN International and the Uniform Code Council adopted the single name GS1. A UPC-A is an EAN-13 with an implicit leading zero, and that is the entire technical relationship.
The differences
| UPC-A | EAN-13 | |
|---|---|---|
| Digits | 12 | 13 |
| Country / region prefix | Implied (US/Canada) | Explicit (first 2-3 digits) |
| Where required | Legacy US retail systems | Europe, Asia, Latin America, Africa, Oceania |
| Global scanner compatibility | Yes (treated as EAN-13 with leading zero) | Yes |
| Issued by | GS1 US | Any GS1 member organization |
| Check digit | Last digit, mod-10 | Last digit, mod-10 |
| Generator | UPC-A | EAN-13 |
When the choice matters
Selling to a US retailer with a legacy POS
A small number of very old point-of-sale systems in the US were built for 12 digits and cannot handle a 13-digit string that starts with zero. In 2026 that means a few independent retailers running old software. If a buyer's contract says "UPC-A, 12 digits", print UPC-A.
Selling on Amazon US
Amazon accepts both. The Product ID field takes a UPC or an EAN. Pick either.
Selling anywhere outside the US and Canada
Print EAN-13. Retailers outside North America expect 13 digits. A UPC-A will scan, but it complicates the retailer's item data, because their systems expect the 13th digit.
Books
Books use ISBN. ISBN-13 is an EAN-13 with the 978 or 979 prefix, and every book retail system wants the ISBN version and the ISBN registration process instead of a generic GTIN.
Small-format items
If the product can't fit a full EAN-13 (cigarette packs, lipstick tubes, candy bars), use UPC-E or EAN-8. EAN-8 numbers are allocated separately by GS1 and are limited, so save them for packaging with no room for a full code. UPC-E is a compressed form of a GTIN-12 that begins with 0 and fits one of four digit patterns.
Where the numbers come from
You can't make up the digits. A barcode you generate in any online tool will scan, because it's only bars and spaces, but a retailer's system will reject it, because the number is not in their item file, and marketplaces check it against the GS1 registry when you list.
Retail-usable GTINs come from GS1. In the US that's GS1 US, which sells them two ways.
- Single GTINs cost roughly $30 each with no renewal, for brands with one to ten products.
- A GS1 Company Prefix starts at $250 plus $50 a year. You get a reserved numeric prefix and assign your own product numbers under it, which is how brands with a catalog work.
Third-party "bulk UPC resellers" sell codes from prefixes issued before GS1's 2002 policy changes, so the prefix is owned by a company that no longer uses it. Amazon, Walmart, and most large retailers cross-check GTINs against the GS1 database and suppress listings where the registered brand doesn't match the seller. Buy from GS1 and the name on the record is yours.
The check digit
The last digit of every UPC and EAN is a mod-10 check digit, calculated from the other digits, and every scanner verifies it. If the check digit doesn't match the rest of the code, the scan fails. When you enter 12 or 13 digits into a generator, the last one has to be right for the code to scan at all.
Our UPC-A and EAN-13 generators calculate it for you. Type the first 11 or 12 digits and the check digit is appended. The maths is in the EAN-13 check digit guide.
The recommendation
Register with GS1, buy a company prefix, and print EAN-13 on everything. It scans everywhere, there is no ambiguity, and you never re-run packaging because you started selling outside North America.
If one US buyer's contract requires UPC-A and their old POS can't handle a leading zero, print UPC-A for that SKU and keep the rest of the catalog on EAN-13.
For sample packaging, mockups, or internal testing, use the generator and pick whichever format fits your layout.