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.

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 throughout the rest of the world. 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 that has 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 exactly 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?

The way 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 parities one for the left side and one for the right. This is so they can be scanned upside down and still return the correct number the right way around.

Originally the 12 digit UPC system was created in the 1970’s 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, and therefore used both the left odd parity and the right even parity of the UPC barcodes, but also added an additional parity (a left-even parity) which was to be used on a selection of the left hand side digits. The left and right hand side of EAN-13 barcodes are still divided into 6 digits each. So 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 the barcode is scanned by that system it should appear in the correct format (either EAN-13 or UPC, depending on which format was typed into the system).