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.

ToolNinja