Loading Barcode Mint…

Barcode Mint

Free Online Barcode & QR Code Generator

Linear Barcode

Code 128 A Barcode Generator

Code 128 subset A locks the encoder to uppercase letters, digits, and control codes, giving you a predictable character set for systems that don't expect lowercase.

Open the generator ↓
Preview
100%

01

Symbology

Code 128
All 106 →
02

Data

03

Properties

Properties

2
100
18
10
04

Bulk & batch generate

🔒 Pro

Turn a CSV — or a numbered sequence — into hundreds of barcodes at once, exported as a ZIP of images or a print-ready PDF sheet. Launching with Pro.

Launching soon

Pricing — join the early list

The browser generator stays free forever. Paid plans are for teams who need bulk output and developers who need the REST API at scale — commercial license included. Tell us what you'd use; early-list members get first access and launch pricing.

For the generator

Free $0/forever

What you're using right now

  • 100+ barcode & QR symbologies
  • Live preview & customization
  • PNG & SVG export, no login
  • Copy to clipboard
Available now ✓

For developers — REST API

Priced by requests. Commercial license and self-serve keys included; usage dashboard at launch.

Small $19/mo$190/yr 500 req / mo
Large $499/mo$4,990/yr 50K req / mo
Enterprise Custom Contact us

Get early access + launch pricing

Which features would you actually use? (optional — it helps us decide what to build first)

No spam — one email when it launches. The free tool isn't going anywhere.

What Is a Code 128 A Barcode?

Code 128 A is the character-set-A variant of the Code 128 symbology, restricted to uppercase letters (A–Z), digits (0–9), standard punctuation and symbols, and ASCII control characters such as carriage return or line feed. Unlike plain Code 128 — which auto-selects whichever subset produces the shortest barcode — Code 128 A forces the encoder to stay in this single character set for the entire symbol. That predictability matters when a receiving system, database field, or legacy scanner configuration is built to expect only uppercase alphanumeric input and would choke on an unexpected subset switch or lowercase character.

Structurally, Code 128 A shares the exact same bar-and-space geometry, start/stop patterns, and modulo-103 check digit calculation as standard Code 128. The only difference is which characters are available to encode.

Charset A vs. B vs. C: Where A Fits

The Code 128 standard defines three character sets that share one underlying symbology:

Choose subset A specifically when your data is guaranteed to be uppercase-only and you need the option to embed control characters — for example, encoding a record separator or line-feed character as part of a structured data string that a legacy terminal or industrial scanner parses directly. If your data might include lowercase text, subset B is the correct choice instead; auto Code 128 will pick subset B for you automatically in that case.

Where Code 128 A Is Used

Because it's a narrower-purpose variant, Code 128 A shows up in more specialized contexts than general Code 128:

Code 128 A Technical Specifications

Code 128 A is defined by ISO/IEC 15417, the same standard governing all three Code 128 subsets. Its character set covers uppercase letters A–Z, digits 0–9, standard punctuation and symbols, and ASCII control characters 0x00–0x1F plus a handful more, for 64 encodable values total. Each character is built from 11 modules across 3 bars and 3 spaces, plus a unique stop pattern. Length is variable — Code 128 A can encode as many characters as your label allows, with no fixed maximum defined by the standard itself, though practical label width imposes its own limit. A single mandatory check digit, calculated with a modulo-103 weighted sum of the encoded values (including the start character), is appended automatically; there is no optional or omittable checksum as with Code 39.

How to Create a Code 128 A Barcode in Barcode Mint

In Barcode Mint, select Code 128 A from the symbology list — it's listed separately from plain Code 128 so you can force subset A explicitly rather than relying on auto-detection. Enter your data (uppercase letters, digits, and symbols); if you type a lowercase character, remember it falls outside subset A and won't encode correctly, so switch to Code 128 B or convert your text to uppercase first.

Need a run of sequential asset tags or part numbers? Use the batch/sequence generator to produce a numbered series automatically. For larger jobs, upload a spreadsheet through the bulk CSV → ZIP/PDF tool to generate every label in one pass. Developers integrating label generation into internal systems can call the REST API directly with /barcode?type=code128a&data=YOURDATA.

Print and Scan Best Practices for Code 128 A

Because Code 128 A inherits the same dense bar structure as standard Code 128, the same print-quality rules apply, with a few subset-specific notes:

Code 128 A vs. Related Codes

Against Code 128 B, subset A trades away lowercase letters for the ability to embed ASCII control characters — pick A only when your data is genuinely uppercase-only or needs those control codes, otherwise B (or auto Code 128) is the safer default. Against Code 128 C, subset A is far less dense for numeric strings, since C packs two digits per symbol character versus one for A. Against Code 39, subset A covers a similar uppercase-plus-symbols range but is meaningfully more compact and carries a mandatory check digit, whereas Code 39's checksum is optional. If your system needs to auto-detect and switch subsets rather than lock to one, plain Code 128 (not a fixed subset) is the better choice.

Common uses

Frequently asked questions

What is a code 128 a barcode generator used for?
A code 128 a barcode generator produces Code 128 barcodes restricted to uppercase letters, digits, symbols, and control characters — ideal for legacy systems or fixed-format identifiers that never include lowercase text.
Can Code 128 A encode lowercase letters?

No. Subset A does not include lowercase letters. If your data contains lowercase characters, use Code 128 B or plain Code 128, which auto-selects the correct subset.

Why would I choose Code 128 A over plain Code 128?

Choose subset A when a receiving system expects a fixed, predictable character set with no subset switching, or when you need to embed ASCII control characters that other subsets don't support.

Does Code 128 A have a different check digit than standard Code 128?
No — all Code 128 variants use the same modulo-103 weighted checksum calculation. Barcode Mint calculates and appends it automatically.
Can I batch-generate Code 128 A barcodes?

Yes, use the batch/sequence tool for numbered series or the bulk CSV → ZIP/PDF uploader to generate labels for an entire list of uppercase values at once.

Related barcode types

Browse all 106 barcode & QR types →