Universal Product Code (UPC) was initially developed in the 1970s for use by the US grocery industry, and its use has spread into other retail marketplaces in the US and internationally.
UPC-A is a subset of the European Article Numbering (EAN) system, which means that any system that can read EAN/JAN-13 can also read UPC-A. A UPC-A symbol that is created in the United States can be transformed into an EAN-13 symbol by prefixing it with a zero.
UPC-A is defined in ISO/IEC 15420 Information technology - Automatic identification and data capture techniques - EAN/UPC bar code symbology specification. The GS1 implementation is defined in GS1 General Specifications.
The symbol comprises the following elements:
Leading quiet zone
Guard pattern (start character)
Six symbol characters
Center guard pattern (center character)
Six symbol characters, including check digit
Guard pattern (stop character)
Trailing quiet zone
UPC-A encodes 11 digits of numeric message data together with a check digit, for a total of 12 digits.
Most barcode symbologies print bars and spaces in only two widths, but with UPC, four different widths are used. This enables each numeric character to be represented by using just two bars and two spaces, which is the fewest number of modules required per character of any symbology.
Although UPC barcodes come in a number of different message lengths, these lengths are not fully variable as they are with other barcode symbologies.
Guard bars. The guard bars are the start, stop, and center characters in a UPC-A symbol.
The start and stop characters are identical to each other. They are made up of three modules as follows:
The center character is made up of five modules as follows:
The bars for these characters are longer than the bars that encode data, and they are sometimes referred to as security bars.
This symbology supports all numeric digits (0-9).
UPC-A contains a check digit that is based on the modulo 10 (mod 10) algorithm.
With four available printing widths for the bars and spaces instead of just two, UPC-A takes about half the number of bars and spaces relative to Interleaved 2 of 5 to represent each character. However, the use of the wider bars and spaces nullifies this space savings. Interleaved 2 of 5 codes pack data more densely than UPC-A does.
Two-digit and five-digit add-on symbols (supplemental barcodes) are available for adding to the right of the UPC-A symbol. These add-on symbols are usually used to add a date or a manufacturer's suggested retail price (MSRP) to periodicals, books, and weighed products, such as food. The character set and density of the add-on symbols are the same as those of UPC-A. A human readable interpretation is always included.
The start characters for the two-digit and five-digit add-on symbols are made up of three modules as follows:
The add-on symbols do not use a stop character or center character.
The first digit of a UPC-A code is called the number system digit. Like the check digit, it is often stripped off by the barcode reader and therefore does not enter your computer or cash register. The first generation of products that were labeled with UPC-A almost exclusively used a zero as the number system digit. However, as more and more products use UPC barcodes, number system digits other than zero are becoming more prevalent.
To specify a UPC-A barcode that has a number system digit other than zero, you must specify 11 digits in the character string. If you want this first digit transmitted to your cash register or database software, your barcode reader must be configured to transmit it. This brings the effective length of a UPC-A barcode message up to eleven digits.
Because many purchased goods are conveniently prelabeled with UPC barcodes, you will want a barcode reader that can read these symbologies. These barcodes are usually produced photographically or with a laser printer. However, since most barcode readers can automatically discriminate between the various barcode symbologies, it is very easy to combine different barcode symbologies in a given application environment.
If you have a barcode reader that has automatic discrimination, we recommend using either Interleaved 2 of 5 or Code 39 for your in-house printed barcodes. Because UPC is a numeric-only code, Interleaved 2 of 5 would be the preferred substitute, because it uses about half the space that Code 39 uses.
When your barcoding needs reach professional strength, turn to BarTender barcode software, the world’s most trusted software for barcodes, label printing, RFID tags, plastic cards/badges, and more. Download the Free Edition of BarTender barcode software now.