Category: 

What Is a Universal Product Code?

Article Details
  • Written By: Robert Grimmick
  • Edited By: Susan Barwick
  • Last Modified Date: 29 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
Built at the request of Dag Hammarskjöld, the United Nations Headquarters has a meditation room dedicated to silence.   more...

October 1 ,  1890 :  Yosemite National Park was established.  more...

The universal product code (UPC) is a symbol commonly found on the packaging of consumer goods and grocery items. It uses barcode technology that allows a product number to be represented in a format that machines can understand and increases both the speed and accuracy of the checkout process. The concept of using machine-readable symbols for more efficient shopping dates back to at least the 1940s, but limited technology kept the idea from gaining acceptance until the 1970s. Since that time, the UPC has expanded from its roots in the grocery industry to many industries and has even become a cultural symbol.

Ad

Barcode technology, of which the UPC was an early application, allows a product’s numerical code to be represented by special symbols that are easily recognizable by automated scanners. Under the UPC system, a product or item number is encoded as a series of vertical bars with different widths and spacing. These bars are scanned by a machine at checkout, and a computer or point-of-sale terminal checks the product’s number against a database that contains prices for all possible items in a store. This database can be updated at any time, allowing a store to change the price of an item without changing the barcode. The UPC system allows products to be scanned faster and more accurately than manual entry by a human clerk, an improvement that is estimated to have saved retailers tens of billions of dollars each year since the 1970s when the system was introduced.

Some very specific rules were established to govern the structure of a universal product code, which is usually 12 digits long. Manufacturers must apply for a six digit company prefix, which becomes the first six numbers of any universal product code assigned to that company’s products. Another five digits are used to identify a specific product or package, and a final number, known as the check digit, can be used to spot any errors that may have occurred during scanning. The first number in a company prefix also specifies the type of product being scanned: 0,1,6, and 7 for general merchandise, 2 for variable weight items like produce, 3 for pharmaceuticals, 4 for in-store only purposes, and 5 for coupons.

Automated scanning using machine-readable symbols had been proposed as early as the 1940s, but the primitive technology of the era thwarted attempts to commercialize the idea. By the 1970s, however, optical scanning technology had improved enough for grocery stores to become interested in the idea. IBM® in response to a grocery industry consortium’s request for automated scanning proposals, demonstrated`a system that encoded numbers into a series of vertical bars, and in 1974 the universal product code on a pack of Wrigley’s chewing gum became the first product in history to be scanned and purchased using the technology. After a slow rollout in supermarkets during the 1970s and 80s, the UPC expanded beyond grocery stores into other retail areas and has even become a cultural icon, being featured in creative outlets ranging from art exhibits to sci-fi television.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44
Stack trace:
#0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha()
#1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false)
#2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render()
#3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString()
#4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...')
#5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true)
#6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom))
#7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate()
#8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate()
#9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false)
#10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render()
#11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString()
#12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest()
#13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage()
#14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run()
#15 {main}