Skip to content

Code 128

Terry Burton edited this page Oct 24, 2026 · 32 revisions

Code 128

Code 128 is an arbitrarily long, high-density barcode symbology that can be used to encode any byte values.

Also known as: USD-6, USS-128, Code 128A, Code 128B, Code 128C.

Uses:

  • Identifiers outside the GS1 system, such as carrier tracking numbers and warehouse, bin, inventory and asset labels.
  • Amazon FNSKU product labels.
  • Aggregated packaging of tobacco products under EU traceability Regulation (EU) 2018/574.
  • Blood, tissue and cell products labelled to ISBT 128.
  • International registered mail, parcels and EMS, carrying the UPU S10 tracking number.
  • DPD parcel labels (DPD Parcel Label).
  • Clinical laboratory specimen tubes (CLSI AUTO02).
  • Automotive transport labels (Global Transport Label: Odette, AIAG B-16, VDA 4994).

Variants:

Standards: ISO/IEC 15417, ANSI/AIM BC4 - ISS Code 128, BS EN 799.

Data and Options

  • The data field can consist of any byte values. The interpretation of data by readers is in accordance with ISO/IEC 8859-1.
  • The mandatory check digit is calculated automatically.
  • When the parse option is specified, any instances of ^NNN in the data field are replaced with their equivalent byte value, useful for specifying unprintable characters, e.g. ^029 for GS, ^209 for Ñ, etc.
  • FNC4 function characters will be inserted automatically to allow the encoding of byte values 128 to 255.
  • When the parsefnc option is specified, non-data function characters can be specified by escape sequences:
    • ^FNC1: FNC1. Recommendation: Consider GS1-128 for encoding GS1 AI syntax data.
    • ^FNC@: FNC1 in second position, written before an AIM application indicator of one letter or two digits at the start of the data, e.g. ^FNC@T... or ^FNC@99.... See FNC1 in second position. The human readable text leaves out this FNC1.
    • ^FNC2: FNC2
    • ^FNC3: FNC3
  • The readerinit option denotes that the symbol is used for programming the barcode reader, by placing FNC3 at the start of the data. It is not available with FNC1 in first or second position, nor with the raw option, whose codewords can include FNC3 directly.
  • Deprecated: The raw option denotes that the data field is providing the input as pre-encoded codewords in ^NNN format, suitable for direct low-level encoding. You can use the alttext option to specify human-readable text.
  • Deprecated: For internal use. When the parsefnc option is specified, the special pseudo characters ^LNKA and ^LNKC at the end of the symbol indicate that a GS1-128 symbol includes a CC-A/B or CC-C GS1 composite 2D component.

Examples

A symbol encoding alphanumeric data:

Data:    Count0123456789!
Options: includetext
Encoder: code128


Symbologies Reference

Point of Sale

GS1 DataBar

Supply Chain

Two-dimensional Symbols

One-dimensional Symbols

Postal Symbols

Pharmaceutical Symbols

Less-used Symbols

GS1 Composite Symbols

Raw Symbols

Partial Symbols

Clone this wiki locally