GS1-128 Barcodes

(formerly UCC / EAN-128)

GS1-128 was developed to provide a global standard for exchanging data between different companies. GS1-128 not only encodes the data, but provides a method of defining the meaning of the data by defining a list of “Application Identifiers” (AI’s).
In 2006, the Uniform Code Council changed their name to GS1 US, and have moved towards creating global naming structures for all their terminology and guidelines. Consequently, UCC/EAN-128 barcodes are now referenced as GS1-128.
GS1-128 is by itself not a bar code language (symbology). It is a standard that defines both the kind of data and the data format. In essence, GS1-128 is a derivative language of the Code 128 symbology, utilizing a flagging character (Function Code 1 (FNC1)) and application identifiers.

GS1-128 Structure

A typical GS1-128 barcode has the following:

Code 128 start character (START-A, START-B or START-C)

Code 128 FNC1 character

Application Identifier (AI)

Encoded Data

Symbol Check character

Stop Character

Application Identifier (AI)

Every GS1-128 symbol encodes one or more AI to indicate that what type of data is encoded. In most of cases, AI also decides the length of the data and the format of the data.
When a scanner read a Code 128 barcode with a leading FNC1 character, the next 2-4 digits will represent the applicable AI. For example, if “00” was the encoded data after the FNC1 character, the scanner would expect an 18-digit numeric SSCC-18 data to follow.