UPC is an abbreviation for Universal Product Code. It uses four different bar and space widths and encodes each number using two bars and two spaces.
We all can identify UPC-A (at least in the states) with its telltale guard bars, the 12 numeric characters printed in groups of 1, 5, 5, and 1. These numbers are the system digit, manufacturer’s code, item ID, and check digit respectively. The guard bars are the two lines that are longer than the rest at the beginning, middle, and end of the symbol.

The guard bars can be considered as start and stop code and don’t encode any data. There was some talk about UPC being the “Mark of the Beast” mentioned in the book of Revelations because the number six, when printed on the right side of the symbol is two narrow bars, so the conspiracy theorists thought UPC secretly contained “666”. I occasionally got questioned about this at trade shows.
There are a number of variations of UPC. There’s UPC-E, or zero suppressed code that is usually used on small items:
There’s UPC with a 2 or 5 digit supplemental codes used on magazines and periodicals; the supplemental number indicating the issue:
In Europe, it’s EAN, or the European Article Numbering code:
The first three digits in an EAN code indicate the country code and unlike UPC, the manufacturer number and item number are variable length. Notice that there are 13 numbers in an EAN code even though there are the same number of bars as spaces as a UPC-A code. UPC numbers have left and right parity; so a digit printed on the left side has a different pattern when it is printed on the right side. The extra number is encoded by varying the parity pattern on the left part of the EAN symbol.
There is also EAN-8 and EAN with supplemental codes that are similar to UPC-E and UPC with supplemental codes.
One special version of EAN worth mentioning is Bookland code. The country code of 978 has been assigned to a fictitious country, “Bookland” and is used to mark books. Bookland code uses the remaining EAN 10 digits to encode the ISBN number and uses a 5 digit supplemental to encode the suggested price:
The first digit in the supplemental code indicates the currency type. Check this out next time you buy a book. There are other versions of UPC, but they are pretty obscure. RSS (Reduced Space Symbology) is also being used in retail applications.
For more on UPC check out ADAMS1 and the GS1 organization.