The GS1-128 symbology can encode information for traceability and enable the tracking of goods during transport and monitoring warehouse inventory. GS1-128 is used to mark packages, logistic units, pallets, electricity meters, assets and much more.

GS1‑128 can encode more information

GS1‑128 is used to mark packages and logistic units, such as pallets. The barcode is used in, for example, the pallet, transport and store and customer label – the GS1 Logistics Label. GS1‑128 is also used to mark electricity meters, electricity installations (metering points) and assets since the barcode can contain more information than just an item number.

GS1‑128 can, for example, contain:

  • SSCC (Serial Shipping Container Code)
  • GTIN (Global Trade Item Number)
  • GSRN (Global Service Relation Number)
  • GIAI (Global Individual Asset Identifier)
  • Batch or lot number
  • Dates.

GS1‑128 is a variant of the more general symbology Code 128. GS1‑128, as distinct from Code 128, uses Application Identifiers (AI). These describe what type of information is in the barcode. An application identifier consists of two to four digits and is printed in parentheses below the barcode together with information it describes. The application identifier for SSCC, for example, is “00”.

Note that it is not possible to use Code 128 to encode different types of information in one and the same barcode.

Example of GS1-128 barcode.

Barcode size

A barcode can be printed in different sizes on condition that it can be easily read. A large barcode has wider bars and tolerances which means you can be more certain that it can be read without problems.

The maximum physical length, including light margins, of a GS1‑128 barcode is 165 mm.

The maximum number of data symbols, i.e. digits or characters, in a single barcode is 48.

Dimensions for GS1‑128 are specified in the Barcode Size Guide.

Bar width

GS1‑128 is built up from bars and spaces of four different widths. It is critical that the bars and spaces have the correct width for the barcode to be readable.

The width of the narrowest bar in a barcode is called the module width. If a barcode is reduced or enlarged relative to the nominal size, the module width must be changed by the same proportion.


The height of GS1‑128 is measured from the bottom edge to the top edge.

Light margins

There must always be a light margin to the left and right of a barcode. The light margins are empty spaces to ensure that adjacent information, such as the package artwork, does not interfere with scanning.

Human-readable characters

The characters under the barcode must be at least 3 mm high and readable. The distance between the top of the characters and the bottom of the bars must be at least one-half of a module width. The module width is the width of the narrowest bar.

Placement of data elements

Certain fields, such as SSCC and GTIN, have fixed lengths. Other information, for example batch or lot number, do not have fixed lengths.

In order to minimise the length of the barcode fields with variable length, such as batch or lot number, should be placed last in the barcode. No separator (Function Code 1, FNC-1) is needed to mark the end of the field.

Barcode’s construction

GS1‑128 is alphanumeric, which means the symbol can encode both digits and letters. Remember that digits take less room in this symbology than letters and we therefore recommend only using digits in GS1‑128.

GS1‑128 is built from left to right of:

  • Light margin
  • Start* A, B or C and FNC1 (function code)
  • Data (including application identifiers)
  • Check character
  • Stop character
  • Light margin

* Start A, B or C defines which character set is used in the barcode.