Bar Code 1®
A Web Of Information About Bar Code
UCC 128 Bar Code Page

This Visit Brought To You By
[BarCode 1 Sponsor]

UCC-128, EAN-128 & GS1-128 Bar Code Explained

The purpose of GS1-128 (formerly known as UCC-128 or EAN-128) is to establish a standard way of labeling a package with more information than just a product code. It provides supplemental information such as batch number and "use before" dates.

There are two main components of UCC/EAN/GS1-128: the data with its Application Identifier and the bar code symbology used to code the data. The bar code symbology is code 128. The difference is the use of defined Application Identifiers with data encoded into the code 128 symbol.


An Application Identifier is a prefix code used to identify the meaning and the format of the data that follows it (data field).

There are AIs for identification, traceability, dates, quantity, measurements, locations, and many other types of information.

For example, the AI for batch number is 10, and the batch number AI is always followed by an alphanumeric batch code not to exceed 20-characters.

The UCC/EAN/GS1 Application Identifiers provide an open standard which can be used and understood by all companies in the trading chain, regardless of the company that originally issued the codes.

Identification numbers

These AIs contain data to identify:

Traceability Numbers and Dates

These AIs allow data to be encoded that provides traceability of individual products or despatch units throughout the supply chain. This category includes Batch/Lot Number, Serial Number, Production Date, Minimum Durability Date and Maximum Durability Date. The answer to the 2-digit limitation given by EAN International is that it is the application software's responsibility to figure out that "080525" means "25th May 2008" rather than "25th May 1908". The solution is a technique called "windowing" where any two digit number between 51 and 99 is considered proceeded by "19" while any number between 00 and 50 is considered proceeded by "20". News media have reported that there is a US Patent on "windowing".

Measurements and Quantities

These AIs allow quantities and trade measurements to be encoded for items which may vary in content (quantity, length, weight, etc.) and logistical measurements for warehouse space management systems and transportation services. An example is net weight in kilograms. The AI is 3100 to 3109 with the last digit indicating the placement of the decimal point in the following data. The following data is a 6-digit number.

Transaction References and Location Numbers

These AIs allow data to be encoded that provide transaction references and location numbers facilitating the delivery, order, and invoice reconciliation process. They can also identify shipping origin, and help to sort shipments. These AIs include Customer's Purchase Order Number, Bill to (invoice to) Location Number, and Ship to (deliver to) postal code. The "Ship To" AI, for example, is 420 followed by up to 20 alphanumeric characters of data.

The following is a partial list of other AIs. The "Content" column is a description of the data to be encoded. The "AI" column is the Application Identifier number. The "Data Structure" column is the structure of the data that follows the AI number. Please note that some AIs are two digits long while others are three or four digits long.


Data Content AI Plus The Following Data Structure
Serial Shipping Container Code 00 exactly 18 digits
Shipping Container Code 01 exactly 14 digits
Batch NumberS 10 up to 20 alphanumerics
Production Date (YYMMDD) 11 exactly 6 digits
Packaging Date (YYMMDD) 13 exactly 6 digits
Sell By Date (YYMMDD) 15 exactly 6 digits
Expiration Date (YYMMDD) 17 exactly 6 digits
Product Variant 20 exactly 2 digits
Serial Number 21 up to 20 alphanumerics
HIBCC Quantity, Date, Batch and Link 22 up to 29 alphanumerics
Lot Number 23* up to 19 alphanumerics
Quantity Each 30
Net Weight (Kilograms) 310** exactly 6 digits
Length, Meters 311** exactly 6 digits
Width or Diameter (Meters) 312** exactly 6 digits
Depths ( Meters) 313** exactly 6 digits
Area (Sq. Meters) 314** exactly 6 digits
Volume (Liters) 315** exactly 6 digits
Volume (Cubic Meters) 316** exactly 6 digits
Net Weight (Pounds) 320** exactly 6 digits
Customer PO Number 400 up to 29 alphanumerics
Ship To (Deliver To) Location Code
using EAN 13 or DUNS Number with leading zeros
410 exactly 13 digits
Bill To (Invoice To) Location Code
using EAN 13 or DUNS Number with leading zeros
411 exactly 13 digits
Purchase from 412 exactly 13 digits
Ship To (Deliver To) Postal Code
within single postal authority
420 up to 9 alphanumerics
Ship To (Deliver To) Postal Code
with 3-digit ISO Country Code Prefix
421 3 digits plus up to 9 alphanumerics
Roll Products - width, length,
core diameter, direction and splices
8001 exactly 14 digits
Electronic Serial number for
cellular mobile phone
8002 up to 20 alphanumerics

For date fields that only need to indicate a year and month, the day field is set to "00".
* Plus one digit for length indication.
** Plus one digit for decimal point indication.


The symbology specified for the representation of Application Identifier data is UCC/EAN-128, a variant of Code 128, exclusively reserved to EAN International and the Uniform Code Council (UCC). It is not intended to be used for data to be scanned at the point of sales in retail outlets.

UCC/EAN/GS1-128 offers several advantages. It is one of the most complete, alphanumeric, one-dimensional symbologies available today. The use of three different character sets (A, B and C), facilitates the encoding of the full 128 ASCII character set. Code 128 is one of the most compact linear bar code symbologies. Character set C enables numeric data to be represented in a double density mode. In this mode, two digits are represented by only one symbol character saving valuable space. The code is concatenatable. That means that multiple AIs and their fields may be combined into a single bar code. The code is also very reliable. Code 128 symbols use two independent self-checking features which improves printing and scanning reliability.

UCC/EAN/GS1-128 bar codes always contain a special non-data character known as function 1 (FNC 1), which follows the start character of the bar code. It enables scanners and processing software to auto-discriminate between UCC/EAN/GS1-128 and other bar code symbologies, and subsequently only process relevant data.

The UCC/EAN/GS1-128 bar code is made up of a leading quiet zone, a Code 128 start character A, B, or C, a FNC 1 character, Data (Application Identifier plus data field), a symbol check character, a stop character, and a trailing quiet zone.

For details about Code 128, visit the Code 128 Page.

There is more information at the GS1-128 Info Page. There is some very good information about how to label shipping containers with barcode here. The specific formats required for major retailers can be found through the subscription service Many major retailers require boxes to be marked following their own specific format. The service alerts you to any changes. Also there is more information about Serial Shipping Container Codes (SSCC-18) here.

BarCode 1 is a registered trademark of Adams Communications.
Send comments and questions by e-mail to Russ Adams