Skip to content

Code 128

Terry Burton edited this page Oct 12, 2026 · 28 revisions

Code 128

Code 128 is an arbitrarily long, high-density barcode symbology that can be used to encode full 256 character extended-ASCII.

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.
  • 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 extended ASCII data. The default 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 ASCII or extended-ASCII 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 extended ASCII characters.
  • 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
  • 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