EAN vs UPC: what's the difference and which barcode do you need?
If you sell a physical product in shops or online, you will be asked for an EAN or a UPC. They look almost the same and do the same job: carry a product number that the shop's system looks up to find the name and price. The differences are small, but they decide which one you print.
The short answer
- UPC-A holds 12 digits and is the standard in the United States and Canada.
- EAN-13 holds 13 digits and is the standard almost everywhere else.
- Since the "Sunrise 2005" deadline, North American retail systems have accepted EAN-13 too, and scanners everywhere read UPC-A. Either one will scan in any shop.
- Print the one that matches the number GS1 gave you. A number from GS1 US is a 12-digit GTIN-12 and goes in a UPC-A; a number from most other GS1 offices is a 13-digit GTIN-13 and goes in an EAN-13.
Side by side
| UPC-A | EAN-13 | |
|---|---|---|
| Digits | 12 (GTIN-12) | 13 (GTIN-13) |
| Issued by | GS1 US (and GS1 Canada) | Every other GS1 office |
| Main markets | US and Canada | Europe, Asia, Latin America, Africa, Oceania |
| Standard size at 100% | 37.29 × 25.91 mm | 37.29 × 25.93 mm |
| Allowed range | 80% to 200% | 80% to 200% |
| Quiet zones | 9 modules each side | 11 modules left, 7 right |
| Short version | UPC-E (compressed UPC-A) | EAN-8 (separate 8-digit numbers) |
Why every scanner reads both
A UPC-A is really an EAN-13 whose first digit is 0. The bars are identical; only the printed digits differ, because UPC-A puts its first and last digits outside the bars in smaller type. So a scanner that reads EAN-13 reads UPC-A, and it reports the 12-digit number with a 0 in front.
That's also why the numbers are written as 14-digit GTINs in databases: 012345678905 and 0012345678905 are the same product. One rule follows from this. If GS1 gave you a 12-digit number, print it as a UPC-A, not as an EAN-13 with a 0 added; GS1's rules ask for the UPC symbol for GTIN-12.
What about the short versions?
Both families have a short code for small packs, but they work differently. UPC-E squeezes the zeros out of certain UPC-A numbers, so it's the same product number in less space. EAN-8 is a separate 8-digit number that your GS1 office issues one product at a time, only when an EAN-13 really won't fit.
Which one should you print?
- You're based in the US or Canada and got your numbers from GS1 US: print UPC-A. It works worldwide.
- You're based anywhere else: print EAN-13 with the number from your GS1 office. It works in North America too.
- A retailer asks for one specifically: give them what they ask for, as long as the number is genuinely yours.
- Amazon: either is fine. The listing form accepts UPC, EAN, ISBN and JAN, and checks the number against GS1's database.
Common mix-ups
- Adding or dropping a 0 to switch format. Fine for databases, but print the symbol that matches the length GS1 issued.
- Using an EAN-8 as a shortened EAN-13. They're different numbers; dropping digits gives you someone else's product.
- Buying cheap "UPC codes" online. They're usually registered to another company. See how to get real product barcodes.