Quick answer

Code 128 is a high-density linear barcode that can encode the full ASCII character set through three character subsets. The symbol includes a start code, data values, a weighted checksum, a stop pattern, and quiet zones. Subset C compresses pairs of digits, which is why numeric shipping identifiers can be compact.

How to do it

  1. Enter the identifier exactly as the receiving system expects it.
  2. Let the encoder select efficient character subsets and calculate the checksum.
  3. Export at sufficient width and test with the actual scanner workflow.

Sets A, B, and C

Set A includes uppercase characters and controls, Set B covers upper- and lowercase characters, and Set C encodes numeric pairs. An encoder can switch sets inside one symbol. Users usually should not insert these control choices manually unless following a formal specification.

Code 128 versus GS1-128

GS1-128 uses the Code 128 symbology but adds a function character and standardized application identifiers for fields such as GTIN, batch, and expiry. A generic Code 128 image is not automatically a compliant GS1-128 label.

Common mistakes to avoid

  • Removing required leading zeros.
  • Printing below the scanner's minimum bar width.
  • Calling a generic Code 128 symbol GS1-128.

Try the related tool

Use QRFoundry directly in your browser. Tool inputs and uploaded files are processed on your device.

Open Code 128 Barcode Generator