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.
- NS = 0, 6, 7
code for source marking, administered by UCC.
- NS = 2
NON-PLU code for instore marking of fresh food products or similar.
- 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 )
- 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
- 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.
- A version
12-digit type is the most generally used version.
- Add-on version
A version with an additional 2 or 5-digit supplementary code that indicates the weight of the content.
- E version
8-digit version, suppressed from A version.
- 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
|Length of symbol||Fixed|
|Checkdigit||Needed (modulus 10)|
|Character Density||5.4 to 2.1 chars/cm|
UPC A version
NS = 0, 6, 7
NS = 2
|Price Checkdigit **||1-digit|
The mark ** is the checkdigit for the 4-digit price.
NS = 3
|Laveler Code||4 or 5 digits|
|Product / Package Code||6 or 5 digits|
* 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.
|Family Code **||3-digit|
|Price Code **||2-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”,
- VWXY are zero
0 - ABCDE - 0000Z = ABCDEZ
*the Z digit can only be 5 – 9.
- 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.
- 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.
- 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.
- VWXY are zero
- 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.