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.

DO YOU HAVE QUESTIONS?

We'd love to hear from you!

DO YOU HAVE QUESTIONS?

Call us gladly we are pleased

DO YOU HAVE QUESTIONS?

please feel free to write us an email