LEADTOOLS provides fast, highly accurate, and reliable UPC/EAN Barcode detection, reading and writing support for .NET (C# & VB), C/C++, WinRT, iOS, macOS, Java, and web developers. LEADTOOLS award-winning libraries help programmers add amazing, fully featured UPC/EAN Barcode technology to applications in record time.
Universal Product Code (UPC) and European Article Number (EAN) barcodes are two of the most widely adopted and longstanding barcode symbologies in use throughout the world to identify products in point of sale retail applications. There are several variants supporting different sizes and densities and therefore can be used in virtually any retail application, such as large warehouses with massive inventories and specialty shops dealing small items with limited space to attach barcodes.
LEADTOOLS UPC/EAN Barcode SDK Symbols
UPC-A is the most widely used barcode in the United States, as it is used extensively to identify consumer goods. UPC-A barcodes consist of 4 parts: number system, manufacturer code, product code, and a check digit. The number system is the number to the left and outside of the bars. The manufacturer code is the group of 5 digits on the left. The product code is the group of 5 digits on the right. The check digit is the number to the right and outside of the bars.
The UPC-E symbol is a compressed version of the UPC-A symbol and is generally used anywhere a UPC-A symbol will not fit. The compression algorithm removes unneeded zeros from the underlying data structure effectively converting 10 characters into 6.
The EAN/UCC-13 symbol is used internationally to identify consumer goods. It is based on the UPC-A symbol with one difference. The numbering system in UPC-A can only be one digit, 0-9; whereas, the EAN-13 numbering system consists of two digits, 00-99. The numbering system in EAN-13 is basically a country code. Additionally, EAN-13 is a superset of UPC-A, meaning EAN-13 barcode readers can also decode UPC-A symbols.
EAN-13 Data Structures
JAN Codes are EAN-13 symbols that use 49 or 45 for the number system/country code. This barcode is used for the majority of products distributed in retail stores in Japan and is compatible with other UPC/EAN codes and supplements.
Bookland Codes are EAN-13 symbols that use the "978" number system and store book ISBN numbers without the ISBN check digit (last digit of the ISBN). For example, the ISBN for "Managing Human Resources" by Bohlander and Snell is 0-324-31463-9. To convert this to a Bookland code, prepend "978" to the beginning and drop the ISBN check digit (the last digit) and dashes resulting in 978032431463. Use that number to calculate the EAN-13 check digit which is 2. The final Bookland code is 9780324314632.
The EAN/UCC-8 symbol is used internationally to identify consumer goods, but is shorter than EAN-13 symbols. Unlike UPC-E that can be expanded back into a UPC-A symbol, EAN-8 cannot be expanded into an EAN-13 symbol. Manufacturers must request separate EAN-8 and EAN-13 codes from the appropriate numbering authority.
EAN/UPC Supplementary Extensions
UPC-A, UPC-E, EAN-13, and EAN-8 symbols can include a supplemental symbol to the right of the main symbol. This additional symbol is not as tall as the main symbol and will contain 2 or 5 characters of data. This supplemental data represents periodical issue number or manufacturer suggested retail pricing up to $99.99.
The EAN 2 Extension represents periodical, such as magazines and newspapers, issue numbers.
The EAN 5 extension represents the suggested retail price of books. The first digit represents the currency. The remaining 4 digits encodes the amount. For example, "57500" indicates a suggested retail price of $75.00.