UPC-E SYMBOLOGY
UPC-E BACKGROUND INFORMATION
UPC-E is a variation of UPC-A which allows for a more compact barcode by eliminating "extra" zeros. Since the resulting UPC-E barcode is about half the size as an UPC-A barcode, UPC-E is generally used on products with very small packaging where a full UPC-A barcode couldn't reasonably fit.
UPC-E uses a rather convoluted, but quite effective, method of compressing out unnecessary zeros. Keep in mind that in UPC-A there are five characters for the manufacturer code and five characters for the product code. The trick is to reduce all 10 characters into just 6 characters. How?
CONVERTING A UPC-A CODE TO UPC-E
- If the manufacturer code ends in 000, 100, or 200, the UPC-E code consists of the first two characters of the manufacturer code, the last three characters of the product code, followed by the third character of the manufacturer code. The product code must be 00000 to 00999.
- If the manufacturer code ends in 00 but does not qualify for #1 above, the UPC-E code consists of the first three characters of the manufacturer code, the last two characters of the product code, followed by the digit "3". The product code must be 00000 to 00099.
- If the manufacturer code ends in 0 but does not quality for #1 or #2 above, the UPC-E code consists of the first four characters of the manufacturer code, the last character of the product code, followed by the digit "4". The product code must be 00000 to 00009.
- If the manufacturer code does not end in zero, the UPC-E code consists of the entire manufacturer code and the last digit of the product code. Note that the last digit of the product code must be in the range of 5 through 9. The product code must be 00005 to 00009.
This may be easier to visualize in the following table:
ORIGINAL UPC-A FORMAT |
EQUIVALENT UPC-E FORMAT |
UPC-A EXAMPLE |
UPC-C EQUIV. |
AB000-00HIJ |
ABHIJ0 |
12000-00789 |
127890 |
AB100-00HIJ |
ABHIJ1 |
12100-00789 |
127891 |
AB200-00HIJ |
ABHIJ2 |
12200-00789 |
127892 |
AB300-000IJ |
AB3IJ3 |
12300-00089 |
123893 |
AB400-000IJ |
AB4IJ3 |
12400-00089 |
124893 |
AB500-000IJ |
AB5IJ3 |
12500-00089 |
125893 |
AB600-000IJ |
AB6IJ3 |
12600-00089 |
126893 |
AB700-000IJ |
AB7IJ3 |
12700-00089 |
127893 |
AB800-000IJ |
AB8IJ3 |
12800-00089 |
128893 |
AB900-000IJ |
AB9IJ3 |
12900-00089 |
129893 |
ABCD0-0000J |
ABCDJ4 |
12910-00009 |
129194 |
ABCDE-00005 |
ABCDE5 |
12911-00005 |
129115 |
ABCDE-00006 |
ABCDE6 |
12911-00006 |
129116 |
ABCDE-00007 |
ABCDE7 |
12911-00007 |
129117 |
ABCDE-00008 |
ABCDE8 |
12911-00008 |
129118 |
ENCODING
UPC-E uses the "left-hand odd" and "left-hand even" encoding character sets from the EAN-13 encoding standard.
UPC-E doesn't have a check digit encoded explicity, rather the check digit is encoded in the parity of the other six characters. The check digit that is encoded is the check digit from the original UPC-A barcode.
Additionally, UPC-E may only be used if the number system is 0 or 1. The characters encoded are encoded with odd and even parity from the left-hand columns of the EAN-13 character formats in the table previously provided. The parity used for each character depends on the number system (0 or 1) and the check digit from the original UPC-A barcode.
UPC-E PARITY ENCODING TABLE
CHECK CHARACTER |
NUMBER SYSTEM 0 ENCODING |
NUMBER SYSTEM 1 ENCODING |
0 |
EEEOOO |
OOOEEE |
1 |
EEOEOO |
OOEOEE |
2 |
EEOOEO |
OOEEOE |
3 |
EEOOOE |
OOEEEO |
4 |
EOEEOO |
OEOOEE |
5 |
EOOEEO |
OEEOOE |
6 |
EOOOEE |
OEEEOO |
7 |
EOEOEO |
OEOEOE |
8 |
EOEOOE |
OEOEEO |
9 |
EOOEOE |
OEEOEO |
STRUCTURE
An UPC-E barcode has the following physical structure:
- Left-hand guard bars, or start sentinel, encoded as 101.
- Six data characters, encoded from the parity table above.
- Right-hand guard bars, encoded as 010101 (a center-guard bar pattern with a trailing bar).
NOTE: The structure of a UPC-E barcode is identical to the left-half of a standard UPC-A barcode. The only difference is that the center-guard pattern is terminated immediately by a trailing bar and trailing quiet zone.
ENCODING EXAMPLE
For this example we will convert the UPC-A symbol "042100005264" to a UPC-E code. First, we break the UPC-A symbol into its components: Number system 0, manufacturer code 42100, product code 00526, check digit 4.
First, we make note of the fact that the number system is zero (0). We will thus use the first column of the parity encoding table. We also observe that the original UPC-A check digit was 4. Thus, consulting the table above, we see that our UPC-E barcode will be encoded with the parity "EOEEOO".
Next, we must determine how we're going to code this. We see that the manufacturer code ends in "100", so we can use the first encoding method: The first two characters of the manufacturer code, the last three characters of the product code, followed by the third character of the manufacturer code. That would be "425261". Those are the digits that we need to code using the parity pattern "EOEEOO".
- LEFT GUARD BARS (always the same): 101.
- 1st UPC-E DIGIT [4]. Encoding with left-hand even parity, 0011101.
- 2nd UPC-E DIGIT [2]. Encoded with left-hand odd parity, 0010011.
- 3rd UPC-E DIGIT [5]. Encoded with left-hand even parity, 0111001.
- 4th UPC-E DIGIT [2]. Encoded with left-hand even parity, 0011011.
- 5th UPC-E DIGIT [6]. Encoded with left-hand odd parity, 0101111.
- 6th UPC-E DIGIT [1]. Encoded with left-hand odd parity, 0011001.
- CENTAR GUARD BARS (always the same): 01010.
- RIGHT GUARD BAR (always the same): 1.
Remember, a "1" represents a bar and a "0" represents a space. Thus if we convert this string of numbers to their graphical representation we end up with the following barcode:
To the left of the barcode, the number "0" represents the number system code. The number "4" to the right of the barcode indicates the original UPC-A checksum digit. These two digits are printed as human-readable numbers, but are actually encoded in the parity of the other 6 numbers.
In order to see more clearly the construction of the barcode, the following graphic shows the exact same barcode but each character, or section, of the barcode is indicated by alternating colors. Above the barcode, in each colored section, is a number from 1 to 15, which corresponds to each of the "steps," or sections, described above. You may easily compare the 1-0 sequence of each step to the graphical representation below:
|