Member Login
Username:Password:
or Sign up here
Discover

UNIVERSAL PRODUCT CODE

The 'Universal Product Code' ('UPC') is a barcode symbology (i.e. a specific type of barcode), that is widely used in the United States and Canada for tracking trade items in stores.

Contents
Current code
Representation
Prefixes
Check digit calculation
Zero Compressed UPC-E
Other Variations
Printing Considerations
History
Development of the IBM UPC proposal
Technical Notes
In popular culture
See also
External links
References

Current code


In the UPC-A barcode, each digit is represented by a seven-bit sequence, encoded by a series of alternating bars and spaces. Guard bars, shown in green, separate the two groups of six digits.

The UPC encodes 12 decimal digits as S'LLLLLL'M'RRRRRR'E, where S (start) and E (end) are the bit pattern 101, M (middle) is the bit pattern 01010 (called guard bars), and each L (left) and R (right) are digits, each one represented by a seven-bit code. This is a total of 95 bits. The bit pattern for each numeral is designed to be as little like the others as possible, and to have no more than four 1s or 0s in order. Both are for reliability in scanning.
The UPC has only numerals, with no letters or other characters. The first L digit is the prefix. The last digit R is an error correcting check digit, allowing some errors in scanning or manual entry to be detected. UPC data structures are a component of GTINs (Global Trade Item Numbers). All of these data structures follow the global GS1 standards.

Representation


In the barcode, each number is represented by two bar and space configurations. One configuration is used in the "L" digits, while another is used in the "R" digits. This is done so that the barcode can be scanned forwards or backwards, and the scanner can determine from which direction the code is being scanned so that it can be registered correctly. If it were not for this, products could easily be registered incorrectly.
The (L) and (R) codes for each digit are the one's complement of each other
Digit (L) code (R) code
0 0001101 1110010
1 0011001 1100110
2 0010011 1101100
3 0111101 1000010
4 0100011 1011100
5 0110001 1001110
6 0101111 1010000
7 0111011 1000100
8 0110111 1001000
9 0001011 1110100

Each digit in UPC-A has two forms. In European Article Number (EAN) there are two additional forms so that each digit can be encoded using even or odd parity. For instance, the number 6 can be encoded as:

0101111 (In the left half of a UPC-A barcode, or odd parity in the left half of an EAN barcode)

1010000 (In the right half of a UPC-A barcode, or odd parity in the right half of an EAN barcode)

0000101 (In even parity in the left half of an EAN barcode)

1111010 (In even parity in the right half of an EAN barcode)
The first and second forms are the one's complement of each other, as are the third and fourth.
(L) codes
0 3-2-1-1
1 2-2-2-1
2 2-1-2-2
3 1-4-1-1
4 1-1-3-2
5 1-2-3-1
6 1-1-1-4
7 1-3-1-2
8 1-2-1-3
9 3-1-1-2

Company Prefixes are assigned by a GS1 Member Organization, which is now using longer company codes (with shorter item codes) for smaller companies.
To read barcodes yourself without counting one, zero, zero, one..., or having to memorize those, there is an easier "code" to reading barcodes. The bars and spaces in barcodes have four different lengths, or values. A digit in a UPC barcode consists of two spaces and two bars, the lengths of the digit always equalling seven. The lengths can be called 1, 2, 3 and 4. 1 is the thinnest, 2 is twice as wide as 1, 3 is as wide as three 1 bars, and 4 is the widest, equal to four 1 bars, or two 2 bars.
For example, suppose the first digit in a barcode, after the 1-0-1 start code, is one. You would see a space 2 long, a bar 2 long, a space 2 long, and a bar 1 long. After the first six digits, there are five 1s (space bar space bar space); this is to make sure the barcode ends in a bar, not a space. After that, the digits on the right start with a bar and end with a space, the inverse of the digits on the left. At the end is the 1-0-1 sequence, which is bar-space-bar again.

Prefixes



★ 0, 1, 6, 7, 8, or 9 for most products

★ 2 reserved for local use (store/warehouse), for items sold by variable weight. Variable-weight items, such as meats and fresh fruits and vegetables, are assigned a UPC by the store if they are packaged there. In this case, the LLLLL is the item number, and the _RRRR is either the weight or the price, with the first R determining which.

★ 3 drugs by National Drug Code number. Pharmaceuticals in the U.S. have the remainder of the UPC as their National Drug Code (NDC) number; though usually only over-the-counter drugs are scanned at point-of-sale, NDC-based UPCs are used on prescription drug packages as well for inventory purposes.

★ 4 reserved for local use (store/warehouse), often for loyalty cards or store coupons.

★ 5 coupons The Manufacturer code is the LLLLL, the first 3 RRR are a family code (set by manufacturer), and the last 2 RR is a coupon code. This 2 digit code determines the amount off, according to a table set by the GS1 US, with the final R being the check digit.
By prefixing these with a 0, they become EAN-13 rather than UPC-A. This does not change the check digit. All point-of-sale systems can now understand both equally.

Check digit calculation


In the UPC-A system, the check digit is calculated as follows:
# Add the digits in the odd-numbered positions (first, third, fifth, etc.) together and multiply by three.
# Add the digits in the even-numbered positions (second, fourth, sixth, etc.) to the result.
# Subtract the result modulo 10 from ten.
# The answer modulo 10 is the check digit.
For example, a UPC-A barcode (in this case, a UPC for a box of tissues) "03600029145X" where ''X'' is the check digit, ''X'' can be calculated by adding the odd-numbered digits (0+6+0+2+1+5 = 14), multiplying by three (14 × 3 = 42), adding the even-numbered digits (42+3+0+0+9+4 = 58), calculating modulo 10 (58 mod 10 = 8), subtracting from ten (10 - 8 = 2) and making modulo 10 (2 mod 10 = 2). The check digit is thus 2.

Zero Compressed UPC-E


To allow the use of UPC barcodes on smaller packages where a full 12-digit barcode may not fit, a 'zero-compressed' version of UPC was developed called UPC-E. This symbology differs from UPC-A in that it only uses a 6-digit code, does not use middle guard bars, and the end bit pattern (E) becomes 010101. The way in which a 6-digit UPC-E relates to a 12-digit UPC-A is determined by the last (right-hand most) digit. If the UPC-E number is represented by ABCDEX then:
Last digit (X) UPC-A equivalent is
0 0AB00000CDE + check
1 0AB10000CDE + check
2 0AB20000CDE + check
3 0ABC00000DE + check
4 0ABCD00000E + check
5 0ABCDE00005 + check
6 0ABCDE00006 + check
7 0ABCDE00007 + check
8 0ABCDE00008 + check
9 0ABCDE00009 + check

For example a UPC-E barcode with the number 654321 would expand to the UPC-A 065100004327.
UPC-E check digits are calculated using this expanded string in the same way as used by UPC-A. The resulting check digit is not added to the barcode, however, but is encoded by manipulating the parity of the six digits which are present in the UPC-E - as shown in the following tables:
Check digit Parity pattern
0 EEEOOO
1 EEOEOO
2 EEOOEO
3 EEOOOE
4 EOEEOO
5 EOOEEO
6 EOOOEE
7 EOEOEO
8 EOEOOE
9 EOOEOE

Digit to be encoded Odd parity pattern Even parity pattern
0 3-2-1-1 1-1-2-3
1 2-2-2-1 1-2-2-2
2 2-1-2-2 2-2-1-2
3 1-4-1-1 1-1-4-1
4 1-1-3-2 2-3-1-1
5 1-2-3-1 1-3-2-1
6 1-1-1-4 4-1-1-1
7 1-3-1-2 2-1-3-1
8 1-2-1-3 3-1-2-1
9 3-1-1-2 2-1-1-3

Our example code 654321, therefore, would become 1-1-1 4-1-1-1 1-2-3-1 2-3-1-1 1-4-1-1 2-2-1-2 2-2-2-1 1-1-1-1-1-1. The resulting barcode would look roughly like this:
UPC-E-654321.png

Other Variations


UPC is technically UPC-A. Other variants of the UPC code exist.

★ UPC-B is a 12-digit version of UPC with no check digit developed for the National Drug Code and National Health Related Items Code.

★ UPC-C is a 12-digit code with a check digit.

★ UPC-D is a variable length code (12 digits or more) with the 12th digit being the check digit. These versions are not in common use.
As the UPC has become technologically obsolete, it is expected that UPC-B and UPC-C will disappear from common use by the 2010s. The UPC-D standard may be modified into EAR 2.0 or be phased out entirely.

Printing Considerations


UPC-12 (GTIN-12) number encoded in UPC-A barcode symbol. First and last digit are always placed outside the symbol to indicate Quiet Zones that are necessary for barcode scanners to work properly.

Dimensions:
UPC-A Bar code symbols can be printed at various densities to accommodate variety of printing and scanning processes. The significant dimensional parameter is called X-dimension, the ideal width of single module element. The X-dimension has to be constant in UPC-A symbol. The width of each bar (dark bar) and space (light bar) is determined by multiplying the X-dimension by the module width of each dark bar or light bar (1,2,3, or 4).
The X-dimension for the UPC-A at the nominal size is 0.33 mm (0.013 in.). UPC-A can be reduced or magnified in the range of 80% to 200%.
Nominal symbol height for UPC-A is 25.9 mm (1.0 in.). In UPC-A the dark bars forming the left, centre, and right Guard Bar Patterns are extended downwards by 5 times X-dimension. This also applies to the bars of the first and the last symbol characters of UPC-A symbol. See illustration.
Quiet Zone (Light Margin):
The minimum Quiet Zone width required by the UPC-A bar code symbol is 7 x X-dimension.

History


Wallace Flint proposed an automated checkout system in 1932 using punch cards.[1] Norman Joseph Woodland patented a bull's-eye style code in 1952 and the first commercial use of barcodes was in 1966. [2]
In 1970 Logicon Inc. created the Universal Grocery Products Identification Code (UGPIC). In 1970 it was used by Monarch Marking in the United States and Plessey Telecommunications in the United Kingdom. [3]
A group of grocery industry trade associations formed the Uniform Grocery Product Code Council which with consulting firm McKinsey & Company defined the predecessor to the Uniform Product Code. In 1973 George J. Laurer developed the Universal Product Code.[4] See Development of the IBM UPC proposal below.[5]
The first item to be placed under a UPC scanner in a retail store was a 10-pack of Wrigley's Chewing Gum at a Marsh Supermarket in Troy, Ohio, on June 26, 1974.[1]
Development of the IBM UPC proposal

'The Delta C patent provides some validation of this article. Only the three engineers involved know the rest of the story.'
Around 1970 IBM at Research Triangle Park NC assigned George Laurer1 to solve the problem of a Super Market Scanner and label. In February 1971 Heard Baumeister2 joined Laurer then later William Crouse3 joined the effort. After many, many months they had made no progress. They were aware of the RCA Bulls Eye Label that could be scanned with a simple straight line laser scanner but a readable label was far too large. Baumeister suggested the Bull’s Eye could be cut in half and still work but that was not enough.
Finally Baumeister proposed that a simple “X” scanner could scan an un-oriented straight bar label if the bars were longer than the distance across all of the bars to be read. This would reduce the label size to about one third that of the Bulls Eye. Then he proposed that the label could be split into two sets of characters to be read separately. This allowed the bars to be shortened by nearly one half or a label of about one sixth that of the Bulls Eye.
UPC_HKB.jpg

'The UPC Label above shows the general characteristics of Baumeister's proposals. He did not suggest any specific bar code so the image does not attempt to show exact coding of the ten digits required at that time. Also Baumeister's proposal did not include specific guard bars on the sides and center.'
Laurer proceeded to create a proposal based on Baumeister’s ideas. When he came to actually coding data in the bars he went to the “resident expert” on bar codes who suggested he use his Delta B bar code and gave him equations generated the previous year by Baumeister to calculate the maximum density for a bar code based on the coding technique and printer tolerances.
Laurer’s label proved far too large using the Delta B code. Crouse suggested he try his, patent pending Delta C4 code that he developed in early 1971. Delta C read distances from leading to leading and trailing to trailing edges of bars making it much less sensitive to the printer’s ink spreading degradation. Using Baumeister’s equations Delta C yielded a code that was four times more dense than Delta B and three times better than an earlier Delta A code. The result was a label less than 1.5 by 1 inches. Laurer had a viable proposal.
Crouse and Laurer worked together to define the guard bars to aid in detecting the label and setting the threshold for detecting marks and spaces.
Without the inventions from IBM, both Baumeister and Crouse, and the persistence and proposal effort by Laurer there may not have been a UPC for many years. Baumeister reduced the area by about 6 and Crouse reduced it by another 9 (a little less after margins etc.) for a total of nearby 50 to 1. The following table shows the workable labels, available in the early 1970's, with their sizes.
LabelDimensionsArea
Bulls-eye with Morse CodeLargeLarge
Bulls-eye with Delta B12.0" diameter113.10 sq. in.
Bulls-eye with Delta A9.0" diameter63.62 sq. in.
Baumeister 1st w/ Delta B6.0" × 5.8"34.80 sq. in.
Baumeister 2 halves w/ Delta B6.0" × 3.0"18.00 sq. in.
Baumeister 2 halves w/ Delta A4.5" × 2.3"10.35 sq. in.
Baumeister with Delta C1.5" × 0.9"1.35 sq. in.

'This is assuming a Bull’s eye with the same information and reliable readability.'
December 1, 1972 Laurer presented his proposal to the Super Market Committee in Rochester Minnesota, the location where IBM would develop the scanner. During the presentation Crouse gave a lab demonstration where he read UPC like labels with a simple wand worn like a ring. In addition to reading regular labels he read the large two page center fold label in the proposal booklet. He then turned to a page showing a photo of labeled items sitting on a table. The labels were small and flawed due to the resolution of the printed photo but the wand read many of them. This demonstration showed the robustness of the code and the proposal was accepted.
Laurer continued his career with the UPC. He became known as the inventor of the UPC; without his persistence there might not have been an IBM proposal. Baumeister and Crouse moved on to other activities, Baumeister prior to the Rochester proposal and Crouse immediately after.
The UPC label today still contains the properties of the original proposal, especially Baumeister’s contributions. Laurer was pressured into allowing a Delta B bar width measurement to distinguish between two pairs of characters. This was added to allow two sets of digits one for the left side and a different set for the right side. This resulted in a violation of the Delta C requirements that allowed the label to shrink to the present size. As a result, these characters are the most likely to fail. Fortunately, the print quality has been improved to help offset this problem.
Baumeister's original "X" scanner was never developed by IBM but served the purpose of showing that a simple scanner could read a simple barcode label. The "oscillating mirors scanner" that was developed had the disadvantage of scanning through curved paths causing distortion of the scan time across the bars and therby reducing the print tolerance.
1 George Laurer had been an IBM manager for fifteen years ending as manager of keyboard technology shortly before his assignment to the Super Market scanner problem. He had a substantial patent record.
2 Heard Baumeister was an exceptional mechanical engineer. He had saved many IBM mechanical projects from disaster. Baumeister generated equations to calculate the maximum density of printed bar codes. He was a skilled optics engineer. He had a substantial patent record.
3 William Crouse was a highly skilled circuit designer. He designed a family of modems used in IBM terminals and banking systems. His capacitive keyboard technology was the basis for nearly all of IBM’s electronic keyboards from 1969 into the 1990’s. Just prior to joining the Super Market Scanner effort he invented a new bar code that, using Baumeister’s equations, increased the print density by 3 and 4 times that of the previous bar codes. He was also actively designing a hand held wand for reading printed bar codes. He had a substantial patent record.
4 ''US Patent 3,723,710 by William G. Crouse and assigned to IBM is the patent describing the Delta C code used to reduce the area of the UPC Label by nearly 9 to 1.''
Delta B C cap.jpg

Technical Notes


The EAN was developed as a superset of UPC, adding an extra digit to the beginning so that there would be plenty of numbers for the entire world.
The prefix digit 0 has been reserved for UPC, and in fact the GS1 US mandated all retail systems in the United States and Canada be able to recognize both UPC and EAN by January 1,2005.
UPC usage notes:

★ Currently all products marked with an EAN will be accepted in North America in addition to those products already marked with a UPC.

★ Any product with an existing UPC does not have to be remarked with an EAN.

★ In North America the EAN adds 40% more codes mainly by adding 10 to 13 to the 00 to 09 (0 to 9 in UPC) already in use. This is a powerful incentive to phase out the UPC.

In popular culture


The UPC code has been cited as a symbol of the Biblical Mark of the Beast, due to the similarity of the guard bars (101 or 01010) to the right code for 6 (1010000) - hence 666.

★ The Book of Revelation 13:17 states that "no one can buy or sell who does not have the mark", as most products today have the UPC code.

★ This idea was apparently started by Mary Stewart Relfe in her 1982 book "The New Money System: 666",[2] and has since been perpetuated by conspiracy theorists and Apocalyptic Christian groups.
There is a gaming center in New York City called ''Barcode'' that has been featured in Sex in the City and the opening credits of the television show What I Like About You.

See also



Proof of purchase

External links



GS1 US - Home of the U.P.C

25th Anniversary Review of U.P.C. Impact (pdf download)

George J. Laurer's personal web site — Extensive info from the inventor of the UPC barcode.

Freeware to calculate upc, ean checksum number

UPC-A structure

UPC-A Encoding — Learn how it works, see how it converts to a barcode.

The Original IBM Design and Development of the UPC Label.

The Internet UPC Database

Open Source Software utilizing UPC labels as input to a managed grocery list

References



1. Packaging history: The emergence of the Uniform Product Code (UPC) in the United States, Alan Q. Morton, , , History and Technology, 1994
2. Mary Stewart Relfe (1982). The New Money System: 666. Ministries, Inc.



This article provided by Wikipedia. To edit the contents of this article, click here for original source.