EAN-13 vs UPC-A: What's the Difference?
By ScanHatch · Published · 3 min read
EAN-13 and UPC-A look almost identical and are read by the same scanners. The short answer is that UPC-A is a special case of EAN-13. The details explain why shops in different countries still ask for one or the other.
Two systems that merged
The US grocery industry adopted the 12-digit Universal Product Code in 1973. A few years later, European countries created the European Article Numbering system, which added a 13th digit so that each country's numbering organisation could have its own prefixes. EAN was designed to be compatible with UPC: any UPC number can be written as an EAN-13 by putting a 0 in front.
The two bodies eventually merged, and since 2005 the combined organisation has been called GS1. Both numbers are now GTINs (Global Trade Item Numbers): a UPC-A carries a GTIN-12, an EAN-13 a GTIN-13.
Why a UPC-A is an EAN-13 starting with 0
In an EAN-13 barcode, the first digit isn't drawn as bars. It's encoded in the pattern of how the next six digits are drawn (each can use one of two patterns, called odd and even parity). When the first digit is 0, all six use the odd-parity pattern, which is exactly how UPC-A draws them. So UPC-A 036000291452 and EAN-13 0036000291452 produce the same bars.
Example
UPC-A 036000291452 = EAN-13 0036000291452. The check digit is the same (2), because adding a leading zero doesn't change the weighted total.
Side by side
| EAN-13 | UPC-A | |
|---|---|---|
| Digits | 13 (GTIN-13) | 12 (GTIN-12) |
| Bar width | 95 modules | 95 modules |
| Human-readable text | First digit to the left, then two groups of six | First and last digits smaller, outside the bars |
| Issued mainly in | Most of the world | United States and Canada |
| Read at checkouts | Worldwide | Worldwide |
| Check digit | GS1 mod 10 | GS1 mod 10 |
Will my barcode scan in other countries?
Yes, in both directions. Retail scanners worldwide read both formats. The last big gap closed in 2005, when US and Canadian retailers were asked to make their systems accept 13-digit EAN codes (the “Sunrise 2005” deadline). A product with an EAN-13 can be sold in North America, and a UPC-A product in Europe.
Scanners and databases often report a UPC-A in its 13-digit form with a leading zero, or even as a 14-digit GTIN padded with zeros. It's the same number.
Converting between them
- UPC-A to EAN-13: always possible, by adding a leading 0. The check digit stays the same.
- EAN-13 to UPC-A: possible only when the EAN-13 starts with 0. An EAN-13 starting with any other digit has no UPC-A form.
- UPC-A to UPC-E: possible only for numbers with zeros in particular positions. See the UPC-E generator.
Which should you use?
Use the number GS1 gives you. If you license numbers from GS1 US, you'll receive a company prefix that produces 12-digit GTINs, and you'd normally print them as UPC-A. Most other GS1 member organisations issue 13-digit GTINs for EAN-13. Either will scan at checkouts in the other region.
Note: A barcode generator draws the barcode for a number you already have. It doesn't register the number. Retailers and marketplaces generally expect GTINs licensed from GS1 or an authorised reseller.
Creating and checking them
Generate either with the EAN-13 barcode generator or the UPC-A barcode generator. Both calculate the check digit if you enter the number without it. To check an existing number, including its check digit and what its prefix means, use the EAN/UPC validator.
Frequently asked questions
Can I use an EAN-13 barcode in the US?
Yes. US retail systems have accepted 13-digit EAN codes since 2005.
Why does my UPC show 13 digits in a scanning app?
Many apps show the 13-digit GTIN form, which is the UPC-A with a 0 in front. It's the same number.
Is EAN-13 the same as a GTIN?
EAN-13 is the barcode; the 13-digit number it carries is a GTIN-13.