UPC stands for Universal Product Code. It is a type of linear barcode and is most widely used for retail applications.
There are two variations of UPC:
• UPC-A
• UPC-E
Learn about:
UPC-A is a variation of UPC and uses 12 digits for information encoding. Out of these 12 digits, 11 digits contain the product information while the last digit is the checksum digit. The eleven product digits are further divided into three logical categories. The first digit represents the information regarding the type of the product. The next five digits contain information about the manufacturer of the product while the last 5 digits contain information about the specific product being encoded.
UPC-E is a shorter version of UPC-A. UPC-E contains 7 digits in a total of which 6 digits contain the product information whereas the last digit is the checksum digit. UPC-E is also referred to as the “Zero Suppressed” version of UPC-A because it suppresses all trailing zeros in the manufacturer’s information digits and all leading zeros from product information digits along with number system digits.
UPC was designed by an IMB Engineer named George Laurer in 1971. IBM has originally asked him to base his barcode design on bull’s eye pattern but he developed a barcode with a pattern of vertical stripes. With certain modifications and up-gradations, in 1974, the first UPC was pasted on a pack of Wrigley’s gum which marked the paradigm shift in the way people use to shop.
The size of the barcode is the fundamental difference between a UPC-A and a UPC-E. Since the UPC-E compressed a standard 12 digit UPC-A number into a 6-digit code by “suppressing” the data structures digits, trailing decimal places in the manufacturing code, and beginning zeros in the product number, it is also known as a 0-Suppressed UPC. The seventh digit is a computed check digit based on the code’s first six digits. As a result, UPC-E may be decompressed into a conventional UPC-A 12 digit number. It’s worth noting that some manufacture code numbers that start with “0” have this feature. Furthermore, any production code that does not begin with “0.” can be none whatsoever.
It is one of the oldest and most widely used barcodes. The purpose of developing UPC was to develop such a shopping or buying system where the salesperson does not have to manually enter the information of a product in the database. This saves time and minimizes human error, unlike manual information entry. For this purpose, IBM developed UPC in order to ensure, quick, easy, and reliable information encoding for the retail products.
UPCs were also designed to allow people to easily identify products by their features, including identifying aspects such as a brand’s name, the item (product), item size, and item color. All these are done at checkout when a scanner scans an item. But although the purpose was to speed up grocery checkouts, stores use UPCs to track inventory.
When an item is scanned at checkout, UPCs make identifying product details such as the brand name, item, size, and color easier. That’s why they were invented in the first place: to make grocery store checkout lines shorter. UPCs can also be used to keep track of inventories at a store or warehouse.
According to “PlantServices,” there are two barcoding or readers: contact and noncontact. Interface scanners are the least costly and generally come in hand-held probes or light pens. On the other hand, touch wand scanning necessitates physical contact with bar code and some talent. As a result, the scanning duration increases.
The UPC symbol consists of two parts: a machine-readable bar code and a 12-digit human-readable number.
Register for GS1
For a company to get a UPC, the first step is to apply and register with GS1, a global standards organization that assigns manufacturer identification numbers.
Get manufacturer identification number
Once registered a company gets a GS1-assigned manufacturer identification number. The first six (6) digits are a company’s identification number in the UPC. Every company with this number assigns it to all of its products. The 6 digits beginning with a character help determine whether the product is regular, a weighted item, a pharmaceuticals product, or a coupon.
Assign 5-digit code/item number to products
A UPC coordinator adds the next five digits called the item number. The numbers are unique and are assigned to every product, with care taken not to have the same number assigned to more than one item. In cases where there are variations to products and items, the 5 digits must be unique for each one of them.
Check digit
A check digit is the last number in a 12-digit UPC. The check digit is arrived at by adding and multiplying numbers in the code. A checkout scanner uses the check digit to determine the validity of the UPC. An incorrect check digit means the UPC code will not scan properly.
Every time scanning happens, the check digit calculation occurs. If in case the calculation results in a figure not matching the check digit, then the scanner indicates that there is an error. You need to rescan the item.
A 6-digit UPC-E code is derived from a UPC-A 12-digit code. You can convert a UPC-E code back to its UPC-A format using the following scenarios.
Convert the UPC-E back to UPC-A code by picking the first two digits in the UPC-E code. Add the last digit (still of using the UPC-E code) and then four zeros (0). Complete the conversion by adding characters 3 -5 of your UPC-E code.
Determine what the UPC-A code is by picking the first three digits used in your UPC-E code. Add five zeros (0), and then characters 4 and 5 of the UPC-E.
Determine the UPC-A code in this way: take the UPC-E code and write out the first four digits. Add five zeros (0), then the fifth character of the UPC-E code.
Convert the UPC-E code to UPC-A by first picking the leading five digits in the UPC-E code. Add four 0 digits and the last character of the UPC-E code.
UPC barcodes should be used in simple and retail stores product which do not require complex information encoding.
UPC-A and UPC-E barcodes can be generated by ByteScout BarCode SDK and read by BarCode Reader SDK.