GS1-128 Code
What is a GS1-128 code?
GS1-128: Structure, Data Identifiers, and Use in International Trade
The GS1-128 code is an internationally standardized barcode based on Code 128 that is used to transmit structured logistics and product data between companies. It uses so-called data identifiers (Application Identifiers, AI) to encode not only the item number but also additional information such as the lot number, best-by date, or shipment number in a single barcode. Today, GS1-128 is the central tool for product identification and traceability in the global supply chain.
GS1-128 (formerly EAN-128) is a specific application specification of Code 128 managed by the international GS1 organization. Unlike traditional barcodes such as EAN-13, which contain only a single identification number, a GS1-128 can carry multiple data elements in parallel—each uniquely identified by an FNC1 character as a function character and a data identifier.
The code was introduced in 1989 as EAN-128 and renamed GS1-128 in 2005 as part of the GS1 brand harmonization initiative. Both names are still used interchangeably today, and the old name EAN-128 is still frequently found in technical documentation.
GS1-128 is not intended for labeling individual retail items. Its primary applications are in logistics and shipping, such as for shipping units, pallets, outer packaging, or pharmaceutical products.
Structure of a GS1-128 Code
A GS1-128 code consists of several fixed structural elements:
- Start character (FNC1 character): A special control character that identifies the code as a GS1-compliant data string and distinguishes it from conventional Code 128.
- Data Identifier (Application Identifier, AI):
Two- to four-digit prefixes in parentheses that define the type of information that follows—such as (01) for the Global Trade Item Number (GTIN 14) or (17) for the best-by date.
- Data Field:
The actual content following the AI, with a fixed or variable length depending on the data identifier.
- Separator (FNC1): For variable-length fields, an FNC1 separator is inserted as soon as the next data field begins.
- Check digit and stop character: Ensure readability and terminate the code.
The key difference from other barcodes lies in the data identifier logic: A scanner automatically recognizes the type of information that follows based on the prefix. This allows any amount of information to be combined into a single GS1-128 barcode, which increases the code’s flexibility and performance. The high data density enables its use as a versatile data carrier in many industries.
Important Data Identifiers (Application Identifiers)
GS1 maintains an extensive catalog of standardized data identifiers. The most commonly used ones in practice are:
| AI | Meaning | Format |
|---|---|---|
| (00) | SSCC – Serial Shipping Container Code (shipping unit number) | 18 digits, fixed |
| (01) | GTIN 14 – Global Trade Item Number | 14 digits, fixed |
| (10) | Batch/Lot Number | up to 20 digits, variable |
| (11) | Production Date (YYMMDD) | 6 digits, fixed |
| (15) | Best-By Date (YYMMDD) | |
| (17) | Use-by or expiration date | 6 digits, fixed |
| (21) | Serial number | up to 20 digits, variable |
| (37) | Number of units | up to 8 digits, variable |
| (310n) | Net weight in kg | 6 digits, fixed |
A typical shipping label combines several of these AIs into a single GS1-128 barcode.
Example: (01) 04012345678901 (10) ABC123 (17) 261231
This code conveys the product’s 14-digit GTIN, the lot number, and the expiration date in a single scan.
GS1-128 vs. EAN-13 and Code 39 – What's the Difference?
Three terms are often confused in everyday use:
- Code 128 is the underlying barcode symbology that encodes alphanumeric characters with high data density. It was developed in 1981 and forms the basis for GS1-128
- GS1-128 is a standardized application of Code 128 with a mandatory data structure that includes an Application Identifier and the FNC1 character as a function character. Technically, every GS1-128 is a Code 128, but not every Code 128 is a GS1-128.
- Code 39 is still used in industrial applications but is inferior to modern GS1-128 or DataMatrix solutions in terms of data density and performance.
- EAN-13 is the classic 13-digit barcode used at retail checkout counters. It contains only the item number and does not carry any additional information.
In practice, this means that EAN-13 is scanned at the supermarket checkout, while GS1-128 is scanned at the goods receiving area of a logistics hub. The two systems complement each other but cover different process areas.
Applications of GS1-128
GS1-128 is the key tool for product identification and control in many industries and applications:
- Shipping logistics: Labeling shipping units with SSCCs, linking to electronic shipping notices (DESADV-EDI), and managing the supply chain.
- Pharmaceutical industry: Serialization and traceability in accordance with the EU Falsified Medicines Directive (FMD) using GTIN-14, lot number, expiration date, and serial number in a single code—mandatory for prescription drugs and supported by specialized labeling solutions for the pharmaceutical industry.
- Food Industry:
Traceability in accordance with EU Regulation 178/2002; labeling of batches, best-by dates, and weight on outer packaging and pallets; increasingly supplemented by
RFID food labeling.
- Automotive and Industry:
GTL-compliant labeling of logistics units, integration into JIT/JIS processes, and quality assurance—typical areas of application for Plöckl Media Group’s labeling solutions.
- Retail: SCM data exchange between suppliers and retail headquarters, automated incoming goods inspection based on uniform EAN and GS1 standards.
- Healthcare: Identification and control of medical products and instruments.
The flexible structure and high data density of GS1-128 enable a wide range of applications and secure, automated data processing throughout the entire supply chain.
FAQs
What is the difference between GS1-128 and EAN-128?
GS1-128 and EAN-128 refer to the same barcode standard. The name was changed from EAN-128 to GS1-128 in 2005 to clarify its affiliation with the GS1 organization. Technically, the two are identical.
What is GS1-128 used for?
GS1-128 is used to identify shipping units, pallets, outer packaging, and logistics documents in B2B goods transactions. It allows for the encoding of a 14-digit GTIN, lot number, expiration dates, weight, and other information in a single barcode.
What is a data identifier (AI) in GS1-128?
A data identifier (Application Identifier, AI) is a two- to four-digit prefix that uniquely defines the type of information that follows. This tells the scanning system whether the data is a GTIN, a lot number, or a best-by date.
How large can a GS1-128 code be?
The size of a GS1-128 barcode depends on the data content, module width, and the specific application requirements. The design should always comply with the current GS1 General Specifications.
Is GS1-128 suitable for retail sales?
No, GS1-128 is not intended for point-of-sale use, as it is often too long for conventional checkout scanners and contains more data than is necessary for the checkout process. EAN-13 or GS1 DataBar are used for retail.
