Barcodes · Published
EAN-13 or UPC-A: which barcode do you need?
For most products sold in shops, either barcode will scan: almost every modern retail scanner reads both EAN-13 and UPC-A. Use EAN-13 if your numbers come from a GS1 organisation outside the US and Canada, and UPC-A if you have a 12-digit number from GS1 US or a North American retailer specifically asks for it. The barcode you print should simply match the number you have been issued.
How the two formats relate
Both barcodes carry a GTIN (Global Trade Item Number), the unique number that identifies a product at the checkout. The difference is length:
- UPC-A carries a 12-digit number, known as a GTIN-12. It was developed in the United States and is still the most common product barcode in the US and Canada.
- EAN-13 carries a 13-digit number, known as a GTIN-13. It was developed in Europe and is used in most of the rest of the world, including India and the UK.
The two systems are compatible. A UPC-A number is treated as an EAN-13 number with a leading zero. For example, the 12-digit UPC-A number 036000291452 is the same product identifier as the 13-digit EAN-13 number 0036000291452. A checkout system that stores GTINs in a standard 14-digit field holds both in exactly the same way, padded with zeros on the left.
What you cannot do is turn an EAN-13 number into a UPC-A number by dropping a digit. Unless the EAN-13 starts with 0, it has no 12-digit equivalent.
Which regions and retailers use which
In practice, the choice is usually made for you by where your numbers come from:
- India, the UK, Europe and most other countries: GS1 member organisations issue GTIN-13 numbers, so you print EAN-13 barcodes.
- United States and Canada: GS1 US and GS1 Canada have traditionally issued GTIN-12 numbers, printed as UPC-A.
Since the mid-2000s, retail systems in North America have been expected to accept EAN-13 as well as UPC-A, and most do. Even so, some US and Canadian retailers, distributors and marketplaces still state a preference for UPC-A in their supplier requirements. If you plan to sell through a particular North American retailer, check its supplier guidelines before you print packaging.
The first few digits of an EAN-13 number are a GS1 prefix that shows which GS1 organisation issued the number. For example, numbers starting 890 are issued through GS1 India, and numbers starting 500 to 509 through GS1 UK. The prefix does not indicate the country where the product was made.
How the check digit works
The last digit of every EAN-13 and UPC-A number is a check digit. It is calculated from the other digits, and a scanner recalculates it on every scan. If the result does not match, the scan is rejected, which catches most misreads and typing errors.
The rule is the same for both formats. Working from the right-hand end of the number (excluding the check digit), the digits are multiplied alternately by 3 and 1. For EAN-13, that is the same as multiplying by 1 and 3 alternately from the left.
Here is a worked example for the first 12 digits of an EAN-13 number, 590123412345:
- Write out the digits: 5, 9, 0, 1, 2, 3, 4, 1, 2, 3, 4, 5.
- Multiply them by 1, 3, 1, 3 and so on from the left: 5, 27, 0, 3, 2, 9, 4, 3, 2, 9, 4, 15.
- Add the results: 5 + 27 + 0 + 3 + 2 + 9 + 4 + 3 + 2 + 9 + 4 + 15 = 83.
- Find the amount needed to reach the next multiple of 10. The next multiple of 10 after 83 is 90, so the check digit is 7.
The full number is therefore 5901234123457. If the sum is already a multiple of 10, the check digit is 0.
For UPC-A, the same calculation applies to the first 11 digits. Because there is one fewer digit, the weighting from the left starts with 3 rather than 1, but counting from the right it is still 3, 1, 3, 1.
You do not need to work this out by hand. When you enter 12 digits for EAN-13 (or 11 for UPC-A), our Barcode Generator calculates the check digit. If you enter the full number, it checks the check digit and, if it is wrong, shows the correct one and does not draw the barcode. A wrong check digit usually means a digit has been mistyped.
Getting numbers from GS1
A barcode is only a way of drawing a number. For products sold through retailers or marketplaces, the number itself should come from GS1, the organisation that manages the GTIN system, through your national GS1 member organisation. When you join, you receive a company prefix, from which you create a GTIN for each product.
Barcode generators, including ours, do not issue GTINs. If you type in a made-up number, the barcode will scan, but the number will not be registered to your business and retailers may reject it. Our guide on how to get barcodes for your products explains the process in more detail.
EAN-8 and UPC-E for small packs
Some packs are too small for a full-size EAN-13 or UPC-A barcode. There are two shorter options:
- EAN-8 carries an 8-digit GTIN-8. These are separate numbers issued individually by GS1 organisations, usually only when the pack genuinely has no room for an EAN-13. You cannot create one by shortening an existing EAN-13.
- UPC-E is a compressed way of printing certain UPC-A numbers. Zeros in particular positions are suppressed, so only some UPC-A numbers can be printed as UPC-E. The scanner expands it back to the full 12-digit number.
If your pack is small, ask your GS1 organisation which option applies before redesigning the label. Reducing the barcode’s size or quiet zone (the blank margin either side of the bars) is often not an option, as it can make scanning unreliable.
Create your barcode
Once you have your number, you can draw an EAN-13, UPC-A, EAN-8 or UPC-E barcode in the free Barcode Generator. It runs entirely in your browser, checks the check digit and lets you download the result as a print-ready file.