This document discusses both the differences and the similarities of the major type of Universal Product Code (UPC) bar code, the UPC-A, and the major type of International Article Number (EAN) bar code, the EAN-13.
There are a number of differences between the UPC-A bar code and the EAN-13 bar code, but there are also many similarities.
The discussion on this page centres around the situation as it is now rather than what it was in the past. There have been a number of changes in the way that the UPC and EAN systems have developed and been administered over their history. This document, however, majors on the current position in order to help with the understanding of the practical provisions of the global identification industry. Even so, it will be helpful at this stage to cover a little of the relevant history of the two systems being discussed.
In essence, the UPC-A and EAN-13 are doing slightly different things in a common way. Both UPC-A and EAN-13 are a way to encode product identification numbers in order for them to be read by machine, most usually by the bar code scanner at the store checkout.
In the case of the UPC-A, the GTIN number that is being encoded is a GTIN-12 number. As you may imagine, the GTIN-12 standard is for a product code that is 12 characters in length. In a similar way, the EAN-13 barcode encodes a 13-character GTIN-13.
This difference of having two similar lengths of global identification numbers came about by the need to extend an earlier standard that came from the United States and make it a truly global system.
Before the standardisations of the GTIN system came about, the United States pioneered a system of product identification that resulted in the Universal Product Code, the UPC. That system was a misnomer, because it wasn’t at all universal. It existed initially just for the grocery trade in the United States, so as well as not being universal, it wasn’t even global. It became a very well designed and administered system that has served, and continues to serve, its intended purpose well. At the time it was introduced the United States situation with regard to trade in groceries and allied products, was seen as a distinct mechanism of trade to the rest of the world and so was developed with little regard to the situation outside of the USA.
From the start, the UPC identified a particular product from a particular manufacturer. That is two pieces of information - a manufacturer and an item from that manufacturer. It also had the provision to categorise products as, for instance, variable weight items such as meat and produce, or whether the item was a medicine. There was no provision in the code to identify where in the world the manufacture of the item was deemed to come from.
After a time, organisations in Europe with similar problems to solve in identifying products travelling through business as had been found in America became interested in the UPC and eventually adopted what amounts to the same mechanism, but with an added character with which to enable the identification of the locale of the manufacture. While adding just one character would hardly be able to be used to signify every country in the world that manufactures products for the global market, other changes in the way that the system was organised meant that this could be accomplished within 13 characters, rather than the 12 of the UPC. This new system from Europe became known as the European Article Number (EAN) system, but has since been changed to the International Article Number system to recognise its widespread use outside of Europe. Despite being called the International Article Number, it has retained the abbreviation EAN.
To reiterate and to make things clear, the current situation is that articles are given a Global Trade Item Number (GTIN). The most used GTINs are the GTIN-12 and the GTIN-13. The former (GTIN-12) is used for products largely from the United States and becomes encoded in machine-readable form as the bar code known as UPC-12, while the latter (GTIN-13) becomes encoded in machine-readable form as the EAN-13 bar code.
Even though there is a one-character difference in the length of the the GTINs used in the EAN-13 and the UPC-12, they use the same bar code symbology. Using a clever bit of encoding, it is possible to get 13 characters into the same bar code that is used to encode the 12 characters of the GTIN-12 that gives the UPC-A.
In order to show how both the EAN-13 and the UPC-A share the same type of bar code, I will show below one of each type of bar code, the EAN-12 and the UPC-A, that encode what amounts to the same information. The GTIN-12 I will use for the UPC-A is 012345678905. The GTIN-13 for the EAN-13 I shall use is the same as the GTIN-12, but with a zero appended to the beginning, 0012345678905. Because of how the EAN-13 bar code encodes the first character, and because in this case the first character is a zero, this will result in essentially the same bar code for the EAN-13 as the UPC-A. The only differences will be minor changes in the way that one is formatted to the other.
Below is an image of a EAN-13 and a UPC-A constructed from the GTINs just described. In the image I point out the differences between the two bar codes, but these are are quite cosmetic. The significant thing to note is that the bar codes are identical, they both have exactly the same widths and numbers of bars, both dark and light.
The Difference Between a UPC-A Bar Code and a EAN-13 Bar Code
If you are wondering how a 12-character UPC bar code can be exactly the same as far as the actual data bars are concerned as a 13-character EAN, then let me explain a little without going into too much detail on this page.
The EAN-13 system was designed to be as compatible as possible with the UPC-12 system, even though the EAN has one more character. The extra character was added to the beginning of the existing UPC system. That extra character can be anything from zero to nine.
In the EAN system, the bar code, as shown in the figure above, has a framework of a left and right quiet zone outside of a left and right set of guard bars of a thin dark bar, thin light bar and thin dark bar. Inside that are left and right data segments separated by a middle guard bar. The middle guard bar, even though it looks the same as the outer sets of guard bars is actually a light bar followed by a dark bar, followed by a second white bar and second dark bar, and finished off with a third light bar. The two data sections are where the real data of the bar code are stored, the first six characters of the GTIN in the left half and the second six characters in the right half.
The EAN system, with 13 characters to fit in the space of the 12 characters of the UPC, doesn’t just squeeze in more bars. What happens is that the additional character, which is the first character, is not encoded as separate bars but is cleverly encoded over the left half data characters by altering them depending upon the value of the first character.
If the additional character happens to be a zero, then the rest of the left half characters happen to be just the same as the UPC system. This is why in the example shown above, the UPC data bars are the same as the EAN data bars.
If you would like more detail on how the GTIN gets translated into light and dark bars for both standards, then see the EAN-13 page and the see the UPC-A page. It will be easiest to get to grips with the UPC-A first. Once you understand that, then the EAN-13 is basically the same, but with the first character twist to spice things up a little.