EAN-13 vs UPC-A: Which Barcode Does Your Product Need?

Marcus Rivera Written by Marcus Rivera — Former Amazon warehouse ops, 5 years. More about me →

The first time I saw a shipment get rejected at receiving, it was because of a barcode. The vendor had shipped 40 pallets of consumer electronics from Europe to our US fulfillment center — every box had an EAN-13 barcode. Our US-based WMS expected UPC-A. The labels were technically valid. The product was fine. But the system wouldn't accept them, and I had 40 pallets occupying dock space that was scheduled for another vendor arriving in four hours. I learned the difference between EAN-13 and UPC-A that day, standing on the dock at 6 AM with an angry truck driver.

The Real Difference: 12 Digits vs 13 Digits

UPC-A: 12 digits. North America retail standard.
EAN-13: 13 digits. Everywhere else.

The extra digit in EAN-13 is a country code prefix (00-13 for the US, 40-44 for Germany, 45-49 for Japan, etc.). Fun fact: a UPC-A is technically a subset of EAN-13 — a UPC with a leading zero becomes a valid EAN-13. This is why most modern scanners read both. But "most scanners" and "the scanner at the specific Walmart distribution center your product goes to" are not the same thing. I've learned not to bet on the optimistic case.

Which One Do You Need

Selling in the US and Canada? UPC-A is standard. Most US retailers and marketplaces expect it. If you walk into a Walmart or Target, every barcode you see is UPC-A.

Selling in Europe, Asia, or globally? EAN-13. European retailers specifically request it. Amazon's European marketplaces (amazon.de, amazon.co.uk, amazon.fr) require EAN-13, not UPC-A.

Selling on Amazon US? Amazon accepts both UPC-A and EAN-13 for US listings, but their catalog system converts everything to its internal ASIN anyway. I've personally listed products with both — if you already have a GS1 US prefix that generates UPC-As, just use those. Don't overthink it.

I prefer buying a GS1 prefix that gives you UPC-A for North America and converting to EAN-13 when needed. Converting a UPC to EAN is trivial (add the leading zero). Converting EAN to UPC only works if your EAN starts with 0 — otherwise, you need a separate UPC. This is the practical reason I recommend US-based sellers start with UPC.

When I'd Use EAN-13

If your first market is Europe, start with an EAN-13 GS1 prefix and never look at UPC. You'll save yourself the headache of re-labeling later. European retailers are stricter about barcode format than US retailers — they want exactly EAN-13 with the country prefix visible. I had a seller tell me they had to re-sticker 5,000 units because their German distributor "couldn't scan" the UPC-A labels. The distributor's system could technically read them; their compliance department simply wanted the correct format per their supplier manual.

How to Generate Both

If you're generating barcodes for testing, use GenBarcode. Type 13 digits — you get EAN-13. Type 12 — you get UPC-A. It auto-detects. The generator handles check digits, quiet zones, and encoding, so you don't need to worry about the technical details. Download as SVG for print-quality labels or PNG for quick tests. All free.

Per GS1 General Specifications (Release 24, 2024), the check digit for both UPC-A and EAN-13 uses the same modulo-10 algorithm. If you want to verify it manually: multiply alternate digits by 3 and 1, sum, and the check digit is whatever number makes the total a multiple of 10. Or just let the generator do it for you.

Marcus Rivera Written by Marcus Rivera — Former Amazon warehouse ops manager. Learned the difference between EAN and UPC the hard way at 6 AM on a receiving dock. More about me →