UPC-A Specification

UPC stands for Universal Product Code. This code is typically used to record point of sale transactions for consumer goods throughout the grocery industry. UPC-A format requires an 12 digit string. The left side digits are composed of the Company Identifier.  This number is supplied by the U.C.C.  The remaining digits identify the trade item (product or service). The last digit is a checkdigit.    Typically, the first 6  digits are assigned by request by the Uniform Code Council. The remaining digits are assigned by the user The encodation for the left and right halves of the regular symbol, including UPC characters, number system character and module check character, is given in the following chart. Note that the left-hand characters always use an odd number (3 or 5) of modules to make up the dark bars, whereas the right-hand characters always use an even number (2 or 4). This provides an "odd" and "even" parity encodation for each character and is important in creating, scanning and decoding a symbol.

Decimal
Value

Left
Characters

Right
Characters

.

(Odd Parity—O)

(Even Parity—E)

0 0001101 1110010
1 0011001 1100110
2 0010011 1101100
3 0111101 1000010
4 0100011 1011100
5 0110001 1001110
6 0101111 1010000
7 0111011 1000100
8 0110111 1001000
9 0001011 1110100

Check Digit Calculation

Step 1: Designate the least significant digit position as odd.

        3 1 4 5 7 9 0 1 2 5 8
        O E O E O E O E O E O

Step 2: Sum all the digits in the odd (o) positions

        3 + 4 + 7 + 0 + 2 + 8 = 24

Step 3: Multiply the result by 3

        24 * 3 = 72

Step 4: Sum all the digits in the even (E) positions.

        1 + 5 + 9 + 1 + 5 = 21

Step 5: Add the result of Step 2 with the result of Step 4.

        72 + 21 = 93

Step 6: Subtract from the next higher multiple of 10.

        100 - 93 = 7.  

        In this example, the check digit is 7.
  

The human readable character identifying the encoded check character is shown in the right-hand margin of the symbol.