Difference Between EAN-13 and UPC-A Barcodes

UPC-A Barcodes are effectively a subset of EAN-13 Barcodes. If the first digit on the EAN-13 number is a ‘0’, then the bars of both the EAN-13 and the UPC-A (without the leading ‘0’) will be identical. The displacement of the human-readable numbers in the example images below differ between the UPC-A and EAN-13 barcodes. However, this is the biggest difference (the actual bars are identical). Both barcodes can be scanned by the majority of scanners easily.

Difference EAN 13 and UPC A

When Should You Use an EAN-13 vs a UPC-A?

UPC-A Format barcodes have traditionally been used in the USA, whereas EAN-13 format barcodes have been used worldwide. Nowadays, the majority of stores throughout the world accept barcodes in either format. However, there may be some older systems that only accept one or the other. This means that if your product is being sold in the USA, the UPC-A format barcodes are best. However, if your product is international, or sold in a country other than the USA, an EAN-13 Barcode is best.

If you come across a store with difficulty reading your EAN-13 or UPC-A Barcode, they can either ignore the leading ‘0’ or add a leading ‘0’ depending on how many digits their system prefers. If this is done, the barcode will read the same as the opposite format (as the bars are identical regardless) and will still be globally unique.

Both UPC and EAN-13 numbers can be purchased here.

How are EAN-13 and UPC-A barcodes encoded?

A digit is encoded into every barcode is 7 blocks of either white or black, making up each digit. A full set of digits 0-9 is called a parity. Retail barcodes have a minimum of 2 parties, one for the left side and one for the right. This is to be scanned upside down and still return the correct number the right way around.

Originally the 12 digit UPC system was created in the 1970s by George Laurer. UPC barcodes work with 2 different parities – a left side odd parity and a right side even parity (each with 6 digits).

Later, a 13 digit EAN-13 system was introduced as a superset of the UPC barcodes. These were deliberately designed to be used in conjunction with UPC-A barcodes. Therefore, they used both the left odd parity and the right even parity of the UPC barcodes and added parity (a left-even parity) to select the left-hand side digits. The left and right-hand sides of EAN-13 barcodes are still divided into 6 digits each. The initial digit determines which combination of the first 6 digits will use the newly created left even parity. Hence, in no EAN-13 barcode is the first digit encoded in the barcode. However, it does determine the way the other digits are encoded.

In the case of a leading ‘0’ as with our barcodes, the 0 determines that all of the initial 6 digits will use the left odd parity, meaning that the bars look the same as a UPC barcode would without the leading ‘0’ – As the UPC version also only uses the odd parity.

How do they scan?

Because the actual bars are the only part of the barcode that is scanned (i.e. the scanner isn’t reading the digits below the barcode), an EAN-13 barcode with a ‘0’ on the front can sometimes be confused by scanners as a UPC barcode without the ‘0’ and vice-versa. This is largely to do with what the scanner or software system is expecting to see. Often this occurs when a new barcode is scanned into the system – the software has no point of reference for what format the barcode should be and, therefore, assumes that it is UPC format. Very few stores have had issues with this in the past. And when issues occur, they are generally resolved easily.

We recommend that the barcode number be manually typed into a new retail system the first time (instead of scanning it into the system) and then linked to the product information and product price. After that is done, the next time that system scans the barcode, it should appear in the correct format (either EAN-13 or UPC, depending on which format was typed into the system).