As shoppers pack stores in search of Black Friday deals, a North Carolina born invention keeps the checkout lines moving: the Universal Product Code.
Each beep of the scanner can be traced back to George J. Laurer, an electrical engineer who developed the modern UPC barcode at IBM’s Research Triangle Park campus in the early 1970s.
Other WRAL Top Stories
The story begins in 1969, when a group of grocery executives from across the country formed the Ad Hoc Committee for a Uniform Grocery Product Identification Code. Their urgent goal was simple but urgent: find a way to speed up checkout.
Several companies submitted ideas. Postage meter giant Pitney Bowes, British based Plessey-Anker (already exploring a similar system for Europe), label maker Dymo Industries, Litton Industries, and IBM all offered competing approaches.
Among the submissions was a circular "bull’s-eye" code, invented by Norman Woodland and Silver Bernard two decades earlier. After an 18-month trial of an RCA system using that design at a Cincinnati Kroger store in 1973, the symbol proved impractical. Stickers smudged easily, and the circular pattern distorted on cans and flexible packaging.
Laurer’s solution was both elegant and practical: a rectangular pattern of vertical bars that printers could reproduce consistently and scanners could read from multiple angles. He also added human readable numbers at the bottom as a fail-safe.
The industry adopted his design in 1973. The first retail scan took place in 1974 at Marsh Supermarket in Troy, Ohio, when a 67 cent pack of Wrigley’s Juicy Fruit gum became the first product read by a helium-neon laser paired with a spinning mirror.
How to read a UPC code
UPC numbers contain only information identifying the manufacturer and the individual product down to each variant of the product like size or flavor.
The first is the Number System Digit which indicates the type of product
- 0 for most general retail products
- 2 for items sold by weight, such as produce or meats
- 3 for pharmaceuticals
- 4 for store brands
The next 5 to 9 digits make up the Manufacturer Code which are assigned by GS1, the global standards organization that manages the UPC system.
Large companies that need many product numbers buy a 5 digit prefix for a one time fee of 10,500 dollars plus 2,100 dollars per year. This provides 100,000 unique UPCs. Small companies can purchase 10 UPCs for 250 dollars up front and 50 dollars annually.
The remaining digits except the final one identify a specific item down to the size, version, or color.
The final Check Digit is calculated using a modulo arithmetic formula and helps detect printing or scanning errors.
How the bars work
Each UPC code begin and end with guard bars that help orient the scanner. A pair of center bars divides the left six digits from the right six.
The left and right sides use mirrored encoding rules. For example, the number 5 is encoded on the left as 0110001 (with 0 representing white and 1 representing black) and as 1001110 on the right. This mirrored structure allows scanners to read UPCs even when they are upside down.
Laurer, who lived in Wendell until his passing in 2019, was recognized in 2011 during IBM’s centennial celebrations as a contributor to one of the company’s 100 most iconic achievements.