Request Quote & Samples
PolylabelBarcode Types – Universal Product Code (UPC)

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 barcodeCheckdigit 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





UPC D version

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



Need Help?Give us your label requirements and we'll prepare a quote and samples for you!
Please contact us using our contact form, by phone at 519-743-3422, by fax at 519-743-9373 or by email at
Our experienced design professionals will be happy to assist with your custom label needs.

Our Locations
1-196 McIntyre Drive
Kitchener, ON N2R1H4

Contact Us

Toll Free:
T: 519-743-3422
T: 519-743-7086
F: 519-743-9373