| The "UPC-A bar code" is by far the most common and well-known symbology, at least in the United States. An UPC-A bar code is the bar code you will find on virtually every consumer good on the shelves of your local supermarket, as well as books, magazines, and newspapers. It is commonly called simply a "UPC bar code" or "UPC Symbol." This isn't entirely accurate since there are a number of other UPC formats (UPC-E, UPC 2-Digit Supplement, UPC 5-Digit Supplement).
UPC-A encodes 11 digits of numeric (0 through 9) message data along with a trailing check digit, for a total of 12 digits of bar code data. An example of a typical UPC-A bar code is:
| This bar code is actually from a compact disc I purchased in the 1980's (very good CD, by the way! If you print the above bar code and take it to your local CD store, you'll be able to know what CD it is. Or you can just write down the number that appears below the bar code and compare it with the number that appears below the bar code of every CD in the store).
The human-readable digits are printed for the benefit of us lowly humans only. Obviously, the scanner doesn't pay any attention to them whatsoever and a bar code that is printed without these numbers will work just as well as one that includes them.
|COMPONENTS OF AN UPC-A BARCODE|
An UPC-A bar code is divided into four areas: 1) The number system, 2) The manufacturer code, 3) the product code, and 4) the check digit. Normally the number system digit is printed just to the left of the bar code, the check digit just to the right of the bar code, and the manufacturer and product codes are printed just below the bar code, as observed above.
Number System: The number system is a single digit which identifies the "type" of product, if you will, that the following symbol represents. The following table indicates what each number system identifies.
Manufacturer Code: The manufacturer code is a unique code assigned by the UCC Council to each manufacturer or company which distributes goods that will include a UPC-A bar code. All products produced by a given company will use the same manufacturer code. Again, the UCC Council is in charge of assigning manufacturer codes. A company may not choose one randomly or without consulting with the UCC Council since this would quickly result in multiple manufacturers using the same code.
NOTE: Since the manufacturer code is a 5-digit number, there are 99,999 possible manufacturer codes available.
NOTE: The UCC is beginning to use what is called "variable-length manufacturer codes." Assigning 5-digit manufacturer codes means that each manufacturer can have up to 99,999 product codes--and many manufacturers don't have that many products. Now, the UCC will be able to assign manufacturer codes that are longer than 5 digits long. This means they can assign more manufacturer codes and each manufacturer will have a lower number of available product codes.
Product Code: The product code is a unique code assigned by the manufacturer. Unlike the manufacturer code, which must be assigned by the UCC, the manufacturer is free to assign product codes to each of their products without consulting any other organization. Since the UCC will already have guaranteed that the manufacturer code is unique, the manufacturer need only make sure that they do not repeat their own product codes.
NOTE: Since the product code is a 5-digit number, there are 99,999 possible product codes for each manufacturer. It is unlikely that any single manufacturer would have more than 99,999 products being sold at once so this is normally not a restrictive limit.
NOTE: If a company did in fact have more than 99,999 products, presumably they would request a second manufacturer code from the UCC. We are not aware of whether this has actually ever happened or not. If you have information regarding whether this has ever happened, please let us know!
Check Digit: The check digit is an additional digit used to verify that a bar code has been scanned correctly. Since a scan can produce incorrect data due to inconsistent scanning speed, print imperfections, or a host of other problems, it is useful to verify that the rest of the data in the bar code has been correctly interpreted. The check digit is calculated based on the rest of the digits of the bar code. Normally, if the check digit is the same as the value of the check digit based on the data that has been scanned, there is a high level of confidence that the bar code was scanned correctly. The method of calculating the check digit will be discussed later in this page.
UPC-A is a subset of EAN-13; in reality, an UPC-A bar code is an EAN-13 bar code with the first EAN-13 number system digit set to "0". This means that any hardware or software capable of reading EAN-13 is automatically capable of reading UPC-A.
For this reason, rather than provide technical information for EAN-13 and again for UPC-A, please consult the EAN-13 for technical information.
NOTE: The UCC Council has announced that as of January 1, 2005, all products must be labeled with EAN-13. More correctly said, all decoding and related database systems must be able to handle EAN-13 by this date. Thus when developing your system it is best to implement EAN-13. By implementiong EAN-13 you will automatically be implementing UPC-A, but will be ready when the transition to EAN-13 is complete at the beginning of 2005.