Code 128 A Generator
Code 128 subset A: uppercase letters and control characters, used in logistics and warehousing.
How Code 128 A is structured
Subset A is one of the three Code 128 code sets, opened by the start character whose value is 103. It carries uppercase A to Z, digits, punctuation and the 29 ASCII control characters 0x00 to 0x1F — which makes it the only subset that can hold a tab, a carriage return or a field separator inside a single symbol. Character geometry is unchanged: 11 modules per character, stop character 13.
Code 128 A check digit
The mod-103 check character is calculated exactly as for any Code 128 symbol; the only difference is the starting value of 103 that seeds the sum. Positions count per symbol character, so a control character counts once, not once per byte it represents.
Code 128 A compared with Code 128
Subset B prints the same printable characters plus lowercase, so B is the better general-purpose choice; A earns its keep only when control characters or a strict legacy mapping matter. For long digit strings, subset C packs two digits per character where A needs one character per digit. Compare the Code 128 generator page for the same breakdown of structure, check digit and use cases.
Common Code 128 A problems
Lowercase letters are rejected
Subset A has no lowercase. Convert the payload to uppercase, or move the data to a subset B or auto symbol — an encoder that silently upper-cases input is producing a symbol that scans back as different text than the label shows.
Tabs and carriage returns vanish from the input
Control characters are legal in subset A but a single-line text field usually strips them. Feed the payload through the batch input or a file instead of pasting it, then verify the returned string with a scanner that shows non-printing characters.
Readers return the data plus a stray character
Some readers configured for subset B or C read an A symbol with a substitute character where they cannot decode a control code. Reprogram the reader for the full Code 128 character set, or drop the control characters from the payload.
Where Code 128 A is used
- Warehouse and equipment numbering with fixed uppercase identifiers
- Legacy EDI and logistics labels that carry field separator characters
- Industrial part numbers where only uppercase is permitted
Not sure this is the right symbology? The barcode format guide groups every supported 1D and 2D format by industry with its character set and limits.