Code 128Linear (1D)Introduced 1981

Code 128C

Code 128 locked to code set C — digit pairs packed two per character for maximum numeric density.

Code 128C Specification

Character setDigit pairs 00-99 only (numeric data)
Data lengthVariable, but must contain an even number of digits
Check digitMandatory Mod 103 check character, appended automatically
Density≈24 digits per inch at the minimum 0.19 mm X-dimension — the densest mainstream 1D numeric encoding
Module width (X-dimension)0.19-0.50 mm typical
Print ratioVariable-width bars and spaces
MagnificationScales linearly with the chosen X-dimension
Quiet zone10X on each side
StandardISO/IEC 15417
OriginTed Williams, Computer Identics, 1981
Sample data123456

Try It: Generate a Code 128C Barcode

This live generator is preconfigured for Code 128C. Adjust size, colors, and text — then download as PNG or SVG. Free, no signup, all encoding happens in your browser.

Open the full Code 128C generator →

What Is Code 128C?

Code 128C is Code 128 restricted to code set C, which encodes exactly two digits (00-99) in each symbol character. Because a standard Code 128 character spans 11 modules, code set C represents each digit with only 5.5 modules — the highest numeric density of any mainstream 1D symbology. A leading zero is conventionally added when the digit count is odd, since code set C always works in pairs.

It is the preferred subset for long fixed or variable numeric strings: serial numbers, GTINs without GS1-128 framing, container codes, and numeric order numbers. GS1-128 logistics symbols rely on code set C for the numeric body of Application Identifier strings. If your data is digits-only and width matters, Code 128C is the right choice.

Common Applications

  • Long numeric serial numbers
  • GTIN data in GS1-128 logistics labels
  • Container and carton identification

Code 128C FAQ

Why does Code 128C require an even number of digits?

Code set C maps each symbol character to a two-digit value 00-99, so the data must split cleanly into pairs. An odd digit count is handled either by prepending a zero to the data or by letting Code 128 auto mode start in code set B for the single leading digit before shifting to C — the auto encoder makes this choice for you.

How much narrower is Code 128C than Code 128B for the same digits?

Exactly half the data width. Code set B uses one 11-module character per digit; code set C uses one 11-module character per digit pair. For a 20-digit number that saves 110 modules — about 36 mm at a 0.33 mm X-dimension.