- Home
- Barcode Glossary
- Code 128A
Code 128A
Code 128 locked to code set A — uppercase letters, digits, and ASCII control characters.
Code 128A Specification
| Character set | Digits 0-9, uppercase A-Z, ASCII control characters (NUL-US), and - . / : + % $ space (ASCII 0-63) |
| Data length | Variable; no fixed minimum or maximum |
| Check digit | Mandatory Mod 103 check character, appended automatically |
| Density | ≈12 characters per inch at the minimum 0.19 mm X-dimension |
| Module width (X-dimension) | 0.19-0.50 mm typical |
| Print ratio | Variable-width bars and spaces |
| Magnification | Scales linearly with the chosen X-dimension |
| Quiet zone | 10X on each side |
| Standard | ISO/IEC 15417 |
| Origin | Ted Williams, Computer Identics, 1981 |
| Sample data | ABC123 |
Try It: Generate a Code 128A Barcode
This live generator is preconfigured for Code 128A. Adjust size, colors, and text — then download as PNG or SVG. Free, no signup, all encoding happens in your browser.
What Is Code 128A?
Code 128A is Code 128 restricted to code set A, the subset covering ASCII values 0-63: digits 0-9, uppercase A-Z, and the non-printing control characters (NUL through US) plus six punctuation marks. It was designed for industrial systems that exchange data including control characters — for example, batch headers containing ESC or STX separators, or legacy host protocols that embed control codes in scanned fields.
In practice, Code 128A appears mostly in older inter-system integrations. Because lowercase letters are impossible in code set A, any input containing a lowercase character will fail validation. Modern systems almost always choose Code 128 (auto) or Code 128B instead; the auto encoder reaches code set A automatically whenever true control characters appear in the data.
Common Applications
- Legacy systems exchanging ASCII control characters
- Industrial equipment interface labels
- Fixed-format batch data with control separators
Related Barcode Types
A high-density, variable-length linear barcode that encodes all 128 ASCII characters, and the backbone symbology of modern logistics.
Code 128 locked to code set B — the full printable ASCII range including lowercase letters.
Code 128 locked to code set C — digit pairs packed two per character for maximum numeric density.
Code 128A FAQ
Why does my lowercase text fail in Code 128A?
Code set A simply has no symbols for lowercase letters — it only covers ASCII 0-63. If your data contains lowercase characters, use Code 128B or Code 128 (auto), which both include the full lowercase alphabet. Locking to 128A is only correct when your data genuinely contains control characters.
When is locking to Code 128A preferable to auto mode?
Only when a receiving system mandates a strict single-code-set symbol — for example, some legacy warehouse controllers parse the raw code-set stream and reject subset shifts. Otherwise auto mode is always safer: it produces a valid Code 128 symbol that is still scannable by every reader.
