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


    Please click the [ Mark Complete ] button at the bottom of this page when you’ve achieved these goals: 

  • Explain how EANC-13 and UPC-A barcodes are encoded, including the concept of digits and parity.


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 1970s by George Laurer. – these work with 2 different parities – a left-side odd parity and a right-side even parity (each with 6 digits) – the parities for these can be seen in the attached.

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 hence, employed both the left odd parity and the right even parity of the UPC barcodes, but 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 sides of the 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’. The UPC version also only uses the odd parity.