UPC vs EAN: The Real Difference Between 12 and 13 Digit Barcodes
UPC-A is the 12 digit barcode scanned at retail checkouts in the United States and Canada, and EAN-13 is the 13 digit barcode used almost everywhere else. They are not rival systems: put a 0 in front of any UPC-A number and you get a valid EAN-13 for the same product, with the same check digit and, at the register, the exact same printed bars.
Both formats belong to GS1, both are defined in one symbology standard, ISO/IEC 15420, and both count as a GTIN, the umbrella term Amazon and most retail software now use. The differences that remain come down to digits in databases and regional habit, not the barcode itself. Here is the full breakdown, including the check digit arithmetic for both formats.
UPC vs EAN at a glance
| Attribute | UPC-A | EAN-13 |
|---|---|---|
| Digits | 12 | 13 |
| GS1 name | GTIN-12 | GTIN-13 |
| Home market | United States and Canada | Rest of the world |
| Symbology standard | ISO/IEC 15420 | ISO/IEC 15420, same spec |
| Symbol width | 95 modules | 95 modules |
| Nominal width at 100 percent, quiet zones included | 37.29 mm | 37.29 mm |
| Allowed magnification | 80 to 200 percent | 80 to 200 percent |
| Digits drawn as bars | All 12 | 12, the leading digit rides in a parity pattern |
| Small package variant | UPC-E, 8 digits | EAN-8, 8 digits |
Read the middle of that table again: same standard, same 95 module symbol, same nominal width. UPC-A and EAN-13 are one symbology with two labels on it, which is why every retail scanner sold in the last two decades decodes both without any configuration.
The leading zero: why UPC-A is EAN-13 in disguise
An EAN-13 symbol physically encodes only 12 digits as bars, six to the left of the center guard and six to the right. The extra digit, the leading one printed off to the left of the symbol, is never drawn as bars at all. It travels in the parity pattern of the left hand six digits: each of those can be drawn in an A form or a B form, and the sequence of A and B choices spells out the leading digit.
When that leading digit is 0, the pattern is six A forms in a row, which is exactly the fixed pattern UPC-A has always used. So the EAN-13 symbol for 0123456789012 and the UPC-A symbol for 123456789012 are the same image, bar for bar and space for space. Only the human readable digits underneath sit in different places. This is also why warehouse and retail databases increasingly store every code as a 14 digit GTIN padded with zeros: 123456789012 and 0123456789012 are one product, not two.
Where each format is required
In the United States and Canada, UPC-A is the native format and what GS1 US issues by default. Everywhere else, national GS1 member organizations issue 13 digit numbers and EAN-13 is what belongs on the shelf. The gap between the two markets closed years ago: GS1 set a Sunrise deadline of January 1, 2005, after which North American retailers were expected to scan and process 13 digit codes at the point of sale. The reverse direction was never a problem, since EAN systems have always treated UPC-A as a 13 digit code starting with 0.
The practical rules today: selling only in North America, license through GS1 US and print UPC-A. Selling in Europe, Asia, or anywhere else, print EAN-13. Selling in both, you rarely need two labels, because a 0 prefixed number can be printed either way and registers on both sides read both symbols. Apparel is a common mixed case, where one retail code sits next to internal size and color numbers on the same tag, which is the layout the garment barcode generator produces.
What Amazon actually wants
Amazon does not care which of the two you type. The listing form asks for an external product ID, accepts UPC, EAN, GTIN, or ISBN in the same field, validates the check digit, and stores the result as a GTIN. Entering 123456789012 and entering 0123456789012 resolve to the same identity.
What Amazon does care about is where the number came from. For most categories it checks submitted GTINs against the GS1 registry and compares the licensed prefix owner with the brand name on the listing. Numbers from cheap third party barcode packs, typically resold out of prefixes issued before 2002, fail that comparison and get listings suppressed. Buy from GS1 directly: GS1 US sells single GTINs for a small one time fee and company prefixes on an annual license. If you sell unbranded or handmade goods, apply for a GTIN exemption instead of buying a number at all.
Check digit math, worked for both formats
Both formats end with a check digit computed modulo 10. The weights are 1 and 3 in alternating positions, and the check digit is whatever brings the total up to a multiple of 10. The two formats just start the alternation on opposite feet.
UPC-A weights odd positions by 3 and even positions by 1, counting from the left. Take the 11 digit body 12345678901:
- Odd positions (1st, 3rd, 5th, 7th, 9th, 11th): 1 + 3 + 5 + 7 + 9 + 1 = 26, times 3 = 78
- Even positions (2nd, 4th, 6th, 8th, 10th): 2 + 4 + 6 + 8 + 0 = 20
- Total: 78 + 20 = 98, next multiple of 10 is 100, so the check digit is 2
- Full UPC-A: 123456789012
EAN-13 flips the weighting: odd positions get 1, even positions get 3. Prepend the 0 and run the 12 digit body 012345678901:
- Odd positions (0, 2, 4, 6, 8, 0): sum 20, times 1 = 20
- Even positions (1, 3, 5, 7, 9, 1): sum 26, times 3 = 78
- Total: 20 + 78 = 98, so the check digit is 2 again
- Full EAN-13: 0123456789012
The mirrored formulas are deliberate. Adding a leading zero pushes every digit from an odd position to an even one and vice versa, and because the weight rule also flips between the two formats, every original digit keeps its old weight while the new zero contributes nothing. That is why the check digit survives the conversion untouched. If you would rather not do the arithmetic by hand, the UPC barcode generator computes the 12th digit from your 11, and the EAN-13 barcode generator computes the 13th from your 12, both free.
Do you need to convert? Usually not
For scanning, never. Both symbols decode on the same hardware, and have since well before the 2005 deadline. For data, rarely: most modern retail and warehouse software stores GTIN-14 and zero pads everything, so a 12 digit and a 13 digit entry land in the same record.
Conversion only matters in two narrow directions. A 13 digit code starting with 0 can be written as 12 digits by dropping the zero, useful for a legacy US form that rejects 13 characters. A 13 digit code starting with anything else, say 500 on a UK issued number, can never become a UPC-A. And if a trading partner wants a different symbology entirely, cartons and shipping labels usually call for Code 128 or ITF-14 rather than either retail format, so start from the general barcode generator for anything beyond the two shelf codes.
GS1 prefixes: what the first digits actually mean
The first three digits of a GTIN-13 identify the GS1 member organization that licensed the number, not the country where the product was made. A Chinese made product sold by a US brand carries a US prefix. Here are the ranges you will meet most often:
| Prefix range | Licensed through |
|---|---|
| 000 to 019, 060 to 139 | GS1 US, written as UPC-A with the leading 0 dropped |
| 030 to 039 | GS1 US drugs, National Drug Code numbers |
| 020 to 029, 040 to 049, 200 to 299 | Restricted: in store and internal numbering, deli scales and store brands |
| 050 to 059 | GS1 US reserved, historically coupons |
| 300 to 379 | GS1 France |
| 400 to 440 | GS1 Germany |
| 450 to 459, 490 to 499 | GS1 Japan |
| 500 to 509 | GS1 UK |
| 690 to 699 | GS1 China |
| 890 | GS1 India |
| 930 to 939 | GS1 Australia |
| 977 | ISSN, magazines and periodicals |
| 978 to 979 | ISBN, books |
Inside the code, the split between company prefix and item reference is not fixed. In a 12 digit UPC, GS1 US issues company prefixes of 6 to 10 digits: a 6 digit prefix leaves 5 digits of item numbers, 100,000 products, while a 10 digit prefix leaves 1 digit, just 10. Small brands increasingly skip the prefix entirely and license single GTINs one at a time, which is all a product needs for one Amazon listing.
So the honest summary of upc vs ean: one zero of difference, one shared standard, and a scanner that never cared. Pick the format your market expects, get the number from GS1, and let the math take care of itself. For more practical breakdowns like this one, from label sizing to QR troubleshooting, browse the rest of our guides.
Related: SKU vs UPC · asset tagging for small business
