The chosen symbology has bars (or spaces) of exactly 1, 2, 3, or 4 units wide each; each decimal digit to be encoded consists of two bars and two spaces chosen to have a total width of 7 units, in both an "even" and an "odd" parity form, which enables being scanned in either direction.
Special "guard patterns" (3 or 5 units wide, not encoding a digit) are intermixed to help decoding.
A UPC (technically, a UPC-A) consists of 12 digits that are uniquely assigned to each trade item.
Research indicates that the adoption and diffusion of the UPC stimulated innovation and contributed to the growth of international retail supply chains.
Bernard Silver and Norman Joseph Woodland, a graduate student from Drexel Institute of Technology, developed a bull's-eye-style code and applied for the patent in 1949.
In 1973, a group of trade associations from the grocery industry formed the Uniform Product Code Council (UPCC) which, with the help of consultants Larry Russell and Tom Wilson of McKinsey & Company, defined the numerical format that formed the basis of the Uniform Product Code.
[6] Technology firms including Charegon, IBM, Litton-Zellweger, Pitney Bowes-Alpex, Plessey-Anker, RCA, Scanner Inc., Singer, and Dymo Industries/Data General, put forward alternative proposals for symbol representations to the council.
[citation needed] The Symbol Selection Committee finally chose to implement the IBM proposal designed by George J. Laurer, but with a slight modification to the font in the human readable area.
[citation needed] The first UPC-marked item ever to be scanned at a retail checkout was a 10-pack (50 sticks) of Wrigley's Juicy Fruit chewing gum, purchased at the Marsh supermarket in Troy, Ohio, at 8:01 a.m. on 26 June 1974.
A facsimile of the gum packet went on display at the Smithsonian Institution's American history museum in Washington, D.C.[9][10] Murray Eden was a consultant on the team that created the Universal Product Code barcode.
"[13] He chose the font, and he came up with the idea to add numbers to the bottom, which is a fail-safe system, in case the barcode reader is not working correctly.
[14][15] Around late 1969, IBM at Research Triangle Park (RTP) in North Carolina assigned George Laurer to determine how to make a supermarket scanner and label.
The next day Baumeister suggested if the label were split into two halves the bar lengths could be cut nearly in half.
Crouse suggested that Laurer use his Delta C bar code and provided a copy of his patent that had a sample alphanumeric character set and rules to generate other size alphabets.
During the presentation, Crouse gave a lab demonstration where he read UPC-like labels with his ring wand.
The labels were small and flawed due to the resolution of the printed photo but the wand read many of them.
One month later, 1 January 1973 Crouse transferred back to IBM's Advanced Technology group, and Laurer remained with the full responsibility for the label.
Dymo Industries, makers of handheld printing devices insisted that the code be character independent,[clarification needed] so that handheld printing devices could produce the bar code in store if the items were not bar-coded by the manufacturers.
The character set Laurer derived from the Delta C patent used seven printable increments or units where two bars and two spaces would be printed.
David Savir, a mathematician, was given the task of proving the symbol could be printed and would meet the reliability requirements, and was most likely unaware of Baumeister's equations.
Only the strange character set and the size of the label remains as a shadow of the Delta C code.
This was the cause of the poor performance of the Delta B code and quite likely the failure of RCA's bull's eye scanner.
Each UPC-A barcode consists of a scannable strip of black bars and white spaces above a sequence of 12 numerical digits.
There is a one-to-one correspondence between 12-digit number and strip of black bars and white spaces, i.e. there is only one way to represent each 12-digit number visually and there is only one way to represent each strip of black bars and white spaces numerically.
The significant dimensional parameter is called x-dimension (width of single module element).
The bars forming the S (start), M (middle), and E (end) guard patterns, are extended downwards by 5 times x-dimension, with a resulting nominal symbol height of 27.55 mm (1.08").
A quiet zone, with a width of at least 9 times the x-dimension, must be present on each side of the scannable area of the UPC-A barcode.
In addition, a UPC-A symbol requires a quiet zone (extra space of 9 modules wide) before the S (start) and after the E (end) guard patterns.
The UPC includes a check digit to detect common data entry errors.
The check digit equation is selected to have reasonable error detection properties (see Luhn algorithm).