Free Code 128A Barcode Generator — Uppercase & Control Character Encoding
Generate Code 128A barcodes online for free. Code 128A encodes uppercase letters (A–Z), digits (0–9), and ASCII control characters (NUL–US) — the required subset for shipping labels, GS1 logistics, and any system that uses non-printable control codes such as FNC1. Download as PNG or SVG instantly. No signup, no watermarks, no limits.
What Is Code 128A?
Code 128A is a fixed-subset variant of the Code 128 symbology that encodes characters from ASCII positions 0x00 to 0x5F: digits 0–9, uppercase letters A–Z, space, common punctuation, and the 32 ASCII control characters (NUL, SOH, STX… through GS, RS, US). It is one of three encoding subsets defined in ISO/IEC 15417. Unlike Code 128 (auto mode), Code 128A does not switch subsets — every character in the barcode is encoded using Subset A encoding tables. This makes Code 128A the correct choice when your data contains control characters, when a receiving system explicitly requires Subset A, or when encoding uppercase-only data for legacy scanner compatibility.
- Encodes ASCII Control Characters (NUL–US)Code 128A is the only Code 128 subset that can directly encode ASCII control characters without special escape sequences. Characters 0x00 (NUL) through 0x1F (US) — including SOH, STX, ETX, EOT, TAB, LF, CR, ESC, and others — are encoded as standard symbol characters. This makes Code 128A essential for GS1 FNC1-initiated barcodes, EDI message encoding, and any barcode system that uses control codes as field delimiters.
- Uppercase Letters and Full Digit SupportIn addition to control characters, Code 128A encodes all 26 uppercase letters (A–Z), all 10 digits (0–9), space, and a standard set of punctuation marks including !, ", #, $, %, &, ', (, ), *, +, comma, -, ., /, :, ;, <, =, >, ?, @. This covers the complete character set used in most shipping, logistics, and industrial barcode applications where lowercase letters are not required.
- Mandatory Check Character via Mod 103Like all Code 128 variants, Code 128A includes a Mod 103 check character appended automatically at encoding time. The check character is derived from a weighted sum of all encoded symbol values and is verified by the scanner during decoding. Any barcode with a mismatched check character is rejected before data is passed to the host system, providing reliable first-pass error detection.
- Shipping and Logistics System CompatibilityMany legacy warehouse management systems, shipping label standards, and EDI protocols specify Code 128A explicitly. If a specification document or system integration guide calls for 'Code 128 Subset A' or 'Code 128A', use this format rather than Code 128 auto mode to ensure the scanner and host system receive exactly the expected encoding structure — including any required start character.
How to Generate a Code 128A Barcode
Use Code 128A when your barcode data is uppercase-only or must include ASCII control characters. This workflow keeps the output compatible with Subset A scanners, shipping systems, and legacy host applications.
Best Use Cases for Code 128A
Code 128A is a specialized subset. These are the cases where it is usually a better match than Code 128B or Code 128C.
Shipping and warehouse labels
Encode uppercase shipment IDs, carton numbers, routing codes, and control-character separators for legacy warehouse systems that explicitly require Code 128 Subset A.
Control-character workflows
Use Code 128A when host software expects NUL, TAB, CR, GS, RS, US, FNC1, or other non-printable ASCII characters in the decoded barcode stream.
Industrial and manufacturing IDs
Create compact uppercase work-order, part, batch, and inspection labels where lowercase text is not allowed by the receiving scanner configuration.
When not to use Code 128A
Use Code 128B for lowercase or mixed-case text, Code 128C for long numeric strings, and Code 128 auto mode when you want the encoder to choose the most compact subset automatically.
Code 128A Barcode Generator Features
Produce compliant Code 128A barcodes with precise control over encoding, dimensions, and output format.
Strict Subset A Encoding
This generator locks encoding to Subset A only — no automatic subset switching. The output barcode uses the Code 128 Start A character and encodes every input character using Subset A tables. If your input contains characters outside the Subset A range (such as lowercase letters), the generator flags the invalid characters before producing a non-compliant barcode.
Control Character Input Support
Enter ASCII control characters using standard escape notation or copy-paste from your source system. The encoder correctly maps control codes to their Subset A symbol values and includes them in the barcode output. This allows you to produce GS1 FNC1-initiated Code 128A barcodes and control-code-delimited logistics labels that comply with specification requirements.
PNG and SVG Output
Download your Code 128A barcode as a high-resolution PNG or as a lossless SVG vector file. SVG output scales to any print size without pixelation — essential for shipping labels that must be scannable at multiple label sizes from 25mm address labels to full A4 logistics documents.
Adjustable Bar Height and Module Width
Set bar height and X-dimension (module width) to match the physical requirements of your label stock and scanner type. Longer bar heights improve scan angle tolerance on handheld scanners. Wider modules improve readability on low-resolution label printers. Quiet zones are generated at the required minimum automatically.
Bulk Generation from Uppercase Lists
Paste a list of uppercase-only values — item numbers, shipping codes, serial numbers — into the bulk panel and generate all Code 128A barcodes at once. Download as a ZIP of PNG or SVG files for use in label software, spreadsheet mail-merges, or direct printing workflows.
Code 128A — Frequently Asked Questions
Technical answers about Code 128A character support, use cases, and how it differs from Code 128 auto mode.
What characters does Code 128A support?
Code 128A encodes ASCII characters in the range 0x00–0x5F: all 10 digits (0–9), all 26 uppercase letters (A–Z), space (0x20), standard punctuation (! " # $ % & ' ( ) * + , - . / : ; < = > ? @), and the 32 ASCII control characters from NUL (0x00) through US (0x1F). Lowercase letters (a–z) and characters above 0x5F are not supported in Subset A.
When should I use Code 128A instead of Code 128 auto?
Use Code 128A when a receiving system or specification explicitly requires Subset A encoding, when your data contains ASCII control characters that must be encoded as standard Subset A symbols, or when integrating with a legacy barcode scanner or middleware that identifies the encoding subset from the barcode's start character. For general-purpose use with printable ASCII data only, Code 128 auto mode produces the same result for Subset A-compatible input with the flexibility to handle other inputs.
Can Code 128A encode lowercase letters?
No. Lowercase letters (a–z, ASCII 0x61–0x7A) are outside the Subset A character range. To encode lowercase letters in a Code 128 barcode, use Code 128B or Code 128 auto mode. Attempting to encode a lowercase letter in a strict Code 128A barcode results in an invalid symbol that most scanners will reject.
Does Code 128A have a check digit?
Yes. Like all Code 128 variants, Code 128A includes a mandatory Mod 103 check character that is calculated and appended automatically by the encoder. You do not need to compute or add it yourself.
When should I choose Code 128A instead of Code 128 auto mode?
Choose Code 128A when a specification, scanner profile, or host system explicitly requires Subset A, or when your data includes ASCII control characters that must be decoded exactly. For ordinary mixed text, Code 128 auto mode is usually easier and more compact.
Is Code 128A good for lowercase product names?
No. Code 128A does not encode lowercase letters directly. Use Code 128B for lowercase product names, descriptions, URLs, or mixed-case SKU text. Use Code 128C for numeric-only values with an even number of digits.
Which related barcode formats should I compare with Code 128A?
Compare Code 128A with Code 128B for printable ASCII text, Code 128C for dense numeric data, GS1-128 for application identifier labels, and Code 39 when a legacy scanner system requires a simpler uppercase symbology.
Create Your Code 128A Barcode Now — Free, Instant, No Signup
Generate compliant Code 128A barcodes for shipping, logistics, and control-character-encoded labels right now. Enter your uppercase data, download as PNG or SVG, and print — completely free with no account required.
