read the first part here


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


One of the oldest barcode types, extremely portable.

Contains only numerals; simple and easy to encode and decode.

Self-checking mechanism through checksum digit.


Only numeric data encoding/decoding. Can’t encode characters and special characters.

Little tolerance for damage. Cannot be decoded even if slightly damaged.

Require close contact scanners to decode information.


UPC-A is mostly used in 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.


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.