Code 39 Barcode Generator
Code 39 is an older, self-checking barcode still required in automotive, defense and many industrial and badge systems.
A–Z, 0–9 and - . space $ / + % (lowercase is uppercased)
2px
80px
Code 39 at a glance
- Encodes
- A–Z, 0–9 and - . space $ / + %
- Check digit
- Optional (mod 43); none is added here
- Used on
- Automotive (AIAG), US defense (LOGMARS), ID badges, older industrial systems
- Start / stop
- An asterisk * on each end, shown in the text below the bars
Good to know
- →Every character is self-checking (exactly 3 of its 9 elements are wide), so it works without a check digit.
- →Lowercase letters aren't part of standard Code 39 — the generator uppercases them.
- →It's wider than Code 128 for the same text; leave room for the quiet zones on both ends.
Frequently asked
Why are there asterisks around Code 39 text?
The * is Code 39's start and stop character. Scanners need it to find the barcode, and it's usually printed in the text line too.
Does Code 39 support lowercase?
Not in the standard character set. Full ASCII Code 39 encodes lowercase as two-character pairs, but the scanner must be set to that mode; for mixed-case text use Code 128 instead.