The UPC-E barcode is an omnidirectional, numeric barcode that encodes 12 digits into 8 symbol character positions using zero suppression. It is used as the condensed version of the UPC barcode, for those barcodes with UPC Prefix (first digit) 0
. EAN / UPC barcodes employ a 1-digit checksum as an error detection mechanism.
The UPC was managed by the UCC (Uniform Code Council) until 2005, when the UCC and EAN (European Article Number) merged to form GS1 (Global Standards One), at which point the UCC became GS1 US (GS1 United States). 1
The following example barcode encodes the information 065400000128
as an UPC-E barcode:
The UPC-E barcode encodes 12 digits (11 digits, plus one check digit) of information into 8 digits (6 digits, one check digit, and one leading zero), and has a symbol length of 67 modules. The UPC-E encoding scheme is only valid for UPC barcodes with a UPC Company Prefix of 0
. 2
The additional encoding / decoding scheme for UPC-E barcodes is reproduced below: 1
The barcode is split into the following sections:
UPC Company Prefix - Variable length unique identifier indicating the producer (GS1 Company Prefix without leading zero).
Product Number - Variable length individual product number.
Checksum Digit - Final digit, used to ensure data integrity.
The first digit of the UPC Company Prefix partitions the items for use as follows: 1
0: UPC Company Prefixes
1: UPC Company Prefixes
2: RCNs (Restricted Circulation Numbers) within a geographic region
3: Used to issue UPC Company Prefixes
4: Used to issue RCNs within a company
5: Reserved for future use
6: Used to issue UPC Company Prefixes
7: Used to issue UPC Company Prefixes
8: Used to issue UPC Company Prefixes
The UPC was managed by the UCC (Uniform Code Council) until 2005, when the UCC and EAN (European Article Number) merged to form GS1 (Global Standards One), at which point the UCC became GS1 US (GS1 United States). 2
UPC-E requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels.
The UPC-E barcode is also commonly written with 2 different bar heights. Typically, the height of the left and right guard bars are greater than the height of the bars encoding the actual barcode value, creating a notch in the barcode where the text value can be written.
Barcode Xpress provides the user with control over the size of this notch with the TextNotchPercent property. The TextNotchPercent property can be set to a value of 0 to 50. This number represents the percentage of the tall bar height the short bars will be shortened by. For example, if TextNotchPercent is 10, and the bar height is set to 100 pixels, the tall bars (left and right guard bars) will be 100 pixels tall, and the short bars (bars encoding the value) will be 90 pixels tall.
UPC-E requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MakeBarcodeBarSize property to 3 pixels (narrow bar size), you should set the MakeBarcodeBWidth property to 30 pixels.
The UPC-E barcode is also commonly written with 2 different bar heights. Typically, the height of the left and right guard bars are greater than the height of the bars encoding the actual barcode value, creating a notch in the barcode where the text value can be written.
Barcode Xpress provides the user with control over the size of this notch with the MakeBarcodeUPCNotchPercent property. The MakeBarcodeUPCNotchPercent property can be set to a value of 0 to 50. This number represents the percentage by which the height of the tall bar should be shortened. For example, if TextNotchPercent is 10, and the bar height is set to 100 pixels, the tall bars (left and right guard bars) will be 100 pixels tall, and the short bars (bars encoding the value) will be 90 pixels tall.
UPC-E requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels.
The UPC-E barcode is also commonly written with 2 different bar heights. Typically, the height of the left and right guard bars are greater than the height of the bars encoding the actual barcode value, essentially creating a notch in the barcode where the text value can be written.
The barcode engine provides the user with control over the size of this notch with the TextNotchPercent property. The TextNotchPercent property can be set to a value of 0 to 50. This number represents the percentage of the tall bar height the short bars will be shortened by. For example, if TextNotchPercent is 10, and the bar height is set to 100 pixels, the tall bars (left and right guard bars) will be 100 pixels tall, and the short bars (bars encoding the value) will be 90 pixels tall.
Since the transfer of specification management to the GS1, this barcode has been defined by GTIN (Global Trade Identification Number) key "GTIN-12". 3
UPC-E barcodes are a condensed representation of UPC-A barcodes.
UPC-E barcodes fall into the GS1 system specification, relating them to various other barcodes including EAN-8, EAN-13, UPC-A, and GS1 Databar.
"GS1 Standard Specifications." GS1, GS1 Organization, Jan. 2020, www.gs1.org/sites/default/files/docs/barcodes/GS1_General_Specifications.pdf.
GS1 US. "Our Mission and History." GS1 US, GS1 US, 2020, www.gs1us.org/what-we-do/about-gs1-us/mission-history.
GS1. "EAN/UPC Family." GS1, GS1, 2015, www.gs1.org/docs/barcodes/GS1_Barcodes_Fact_Sheet-GS_ EAN_UPC_family.pdf.
For more information, see the Barcode Xpress SDK product page or try our online demos.