UPC-A and UPC-E: History, Purpose, Advantages, Limitations and Usage - ByteScout
  • Home
  • /
  • Blog
  • /
  • UPC-A and UPC-E: History, Purpose, Advantages, Limitations and Usage

UPC-A and UPC-E: History, Purpose, Advantages, Limitations and Usage

UPC stands for Universal Product Code. It is a type of linear barcode and most widely used for retail applications.
There are two variations of UPC:

Learn about:

  1. UPC Barcode History
  2. Purpose
  3. BarCode Advantages and Limitations
  4. UPC BarCode Usage
  5. How to convert a UPC-E code back UPC-A



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 digit.

UPC Barcode History

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.


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 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.

UPC Advantages

• One of the oldest barcode types, extremely portable.
• It contains only numerals; simple and easy to encode and decode.
• The self-checking mechanism through checksum digit.

Barcode Limitations

• Only numeric data encoding/decoding. Can’t encode characters and special characters.
• Little tolerance for damage. It cannot be decoded even if slightly damaged.
• Require close contact scanners to decode information.

UPC BarCode Usage

• UPC-A is mostly used in the USA, Australia, New Zealand, United Kingdom, and Canada for encoding larger and simpler information.
• Used mostly in retail stores and small products. UPC-E is even shorter and used mostly for food products.

How UPC Codes Work

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 that helps 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.

How to convert a UPC-E code back UPC-A

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.

  • If the UPC-E code ends in 0, 1, or 2

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.

  • If the UPC-E code ends in 3

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.

  • Where the UPC-E code ends in 4

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.

  • If the UPC-E code ends in any of 5, 6, 7, 8, or 9

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.


About the Author

ByteScout Team ByteScout Team of Writers ByteScout has a team of professional writers proficient in different technical topics. We select the best writers to cover interesting and trending topics for our readers. We love developers and we hope our articles help you learn about programming and programmers.