What you're using right now
- 100+ barcode & QR symbologies
- Live preview & customization
- PNG & SVG export, no login
- Copy to clipboard
Loading Barcode Mint…
Free Online Barcode & QR Code Generator
Code 39 Full ASCII extends the classic Code 39 symbology to the entire ASCII character set by pairing standard Code 39 characters as shift codes.
Open the generator ↓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.
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.
What you're using right now
For designers & teams
Priced by requests. Commercial license and self-serve keys included; usage dashboard at launch.
Code 39 Full ASCII (sometimes called Extended Code 39 or Code 39 Mod 43) is a way of encoding the complete 128-character ASCII table — including lowercase letters, additional punctuation, and control characters — using only the standard Code 39 symbology's 43-character set as building blocks. Standard Code 39 can only represent uppercase letters, digits, and a handful of symbols; Full ASCII gets around that limit by using four special Code 39 characters (+, $, %, /) as shift prefixes that combine with a following character to represent something outside the base set.
The result is a barcode that looks and scans like ordinary Code 39 to any compliant reader, but decodes to the full ASCII range once the shift-pair logic is applied. This makes it a practical bridge for legacy systems that only support Code 39 hardware but need to encode mixed-case or extended text.
Code 39 Full ASCII represents every ASCII character as either a single standard Code 39 character or a two-character combination:
Because each extended character can take up two symbol positions instead of one, Full ASCII barcodes are typically longer than an equivalent standard Code 39 barcode, and meaningfully longer than the same data encoded in Code 128, which supports lowercase natively without any pairing trick.
Full ASCII fills a specific niche: legacy Code 39 infrastructure that now needs mixed-case or extended data:
In most new deployments where lowercase or extended characters are needed, Code 128 is the more efficient and increasingly the more common choice — Full ASCII exists primarily to serve environments already committed to Code 39 hardware and validation logic.
Select Code-39 Full ASCII from the symbology list in Barcode Mint. Type your data using any mix of uppercase, lowercase, digits, and symbols — the encoder automatically applies the correct shift-pair logic behind the scenes, so you don't need to manually insert the $, %, /, or + shift characters yourself. The live preview shows the resulting barcode as you type. From there:
For a numbered series of mixed-case identifiers, use the batch/sequence tool. For labeling a full list from a spreadsheet, the bulk CSV → ZIP/PDF feature generates every barcode in one pass. Developers can automate generation via the REST API with /barcode?type=code39ext&data=YOURDATA.
Full ASCII's shift-pair mechanism raises a few considerations beyond standard Code 39 printing rules:
They're closely related terms often used interchangeably; Mod 43 specifically refers to the modulo-43 check digit scheme frequently paired with Full ASCII encoding for extra validation.
No — Barcode Mint's encoder handles the shift-pair logic automatically. Just type your text normally, including lowercase and symbols, and the correct Code 39 Full ASCII pattern is generated for you.
Choose Full ASCII only when your existing scanner hardware or downstream software is already built around Code 39 and can't easily be switched. For new deployments needing mixed-case data, Code 128 is more compact and generally preferred.