Asset Tags

Barcode Types - Universal Product Code (UPC)


Number System Categories


UPC codes are managed into the following five categories. Each category is assigned it's own Number System Code at the first digit of the UPC.

  1. NS = 0, 6, 7
    code for source marking, administered by UCC.

  2. NS = 2
    NON-PLU code for instore marking of fresh food products or similar.

  3. NS = 3
    (the 1st digit of laveler code is 0 -- 7)
    Administered by FDA (Food and Drug Administration). NDC (National Drug Code )
    (the 1st digit of laveler code is 8 or 9)
    Administered by FDA (Food and Drug Administration). HRI (Health Related Item Code )

  4. NS = 4 (the 1st digit of laveler code is 8 or 9)
    An instore marking code for items that are not of the NS = 2 category, where the items could not be source marked

  5. NS = 5
    Coupons (promotional discount coupons, newspaper coupons, leaflets, etc.)

** in this page, we will illustrate NS = 0, 6, 7


Different UPC Versions


Several UPC versions of various code lengths exist that incorporate various contents of the UPC symbol system.

  1. A version
    12-digit type is the most generally used version.

  2. Add-on version
    A version with an additional 2 or 5-digit supplementary code that indicates the weight of the content.

  3. E version
    8-digit version, suppressed from A version.

  4. D version
    Combined versions, 14 to 32 digits length.

** in this page, we will illustrate only 1, 2 and 3.


Summary of UPC Coding System


     Character Set Numeric
     Code Type Continuous
     Length of symbol Fixed
     Self Check none
     Checkdigit Needed (modulus 10)
     Character Density 5.4 to 2.1 chars/cm



UPC A version



  • NS = 0, 6, 7
    Number System 1-digit
    Maker Code 5-digit
    Item Code 5-digit
    Checkdigit 1-digit


  • NS = 2
    Number System 1-digit
    Item Code 5-digit
    Price Checkdigit ** 1-digit
    Price 4-digit
    Checkdigit 1-digit
    The mark ** is the checkdigit for the 4-digit price.


  • NS = 3
    Number System 1-digit
    Laveler Code 4 or 5 digits
    Product / Package Code 6 or 5 digits
    Checkdigit 1-digit

    * Laveler is, a maker or a trading firm, who has marked.
    package code includes the lot number


  • NS = 4
    An instore marking, attached to the products which is not Source Markable. 10 digits, except NS and the checkdigit, can be used freely for data.


  • NS = 5
    Used for coupons.

    Number System 1-digit
    Maker Code 5-digit
    Family Code ** 3-digit
    Price Code ** 2-digit
    Checkdigit 1-digit

    ** Family code is, the code of organization or dealer who deals the clearance business of this coupon
    ** Price means the price to discount, or the discount rate.





UPC E version


E version is used in the following three cases:
  • when the standard A Version UPC code can not be displayed on small products due to space restrictions, Zeros are removed in the code through the use of the Zero Suppression Method, which shortens the standard to 12 digit UPC to an 8 digit UPC.

    The rules are as follows:

    Where the original code is "0 - ABCDE - VWXYZ",

    1. VWXY are zero
      0 - ABCDE - 0000Z = ABCDEZ
      *the Z digit can only be 5 - 9.
    2. E and VWXY are zero
      0 - ABCD0 - 0000Z = ABCDZ4
      * the last "4" indicates that A and D are non-zero and therefore ABCD is a 4-digit number.
    3. DE and VWX are zero
      0 - ABC00 - 000YZ = ABCYZ3
      * the last "3" indicates that A and C are non-zero, and therefore ABC is a 3-digit number.
    4. DE and VW are zero, C is 0, 1 or 2
      0 - AB000 - 00XYZ = ABXYZ0
      0 - AB100 - 00XYZ = ABXYZ1
      0 - AB200 - 00XYZ = ABXYZ2

    NS is fixed to zero, and doesn't exist in the data of barcode. Checkdigit is not calculated from this new 6-digit code but rather is taken from the original UPC code (prior to zero suppression), and displayed on the right of the barcode.

  • LAC (Local Assing Code )
    A variant of instore marking, using 5-digit, zero-headed (but last 4 digits must be within 1000 - 7999) maker codes, and 1-digit item code.

  • RZSC (Retailer Zero Suppression Code)
    A private code which uses the Zero Suppression.



UPC add-on version


A or E versions with an additional 2 or 5 digits of supplementary code. Supplementary code is used for indicating the price of products, issue month of magazine, etc.
  • Supplementary Code Character Pattern
    In the supplementary code, there are 20 characters for the E version odd/ even parity; 1 module bar, called delineator is inserted between each of these characters. There is no start/stop characters.

  • Supplementary Code Checkdigit
    The combinations of 2-digit supplementary codes, from 00 to 99, are determined with odd/ even parities, and this combination takes the place of the checkdigit.
    The checkdigit for the 5-digit supplementary code is the bottom 1 digit of modulus 10 sum, and expressed with the corresponding combination of odd/even parities.



UPC D version


This version is rarely used due to the introduction of better barcoding standards, such as CODE-39, etc.

[UPC-D1]

[UPC-D2]

[UPC-D3]

[UPC-D4]

[UPC-D5]