Code 39 barcode generator

The long-lived "3 of 9" barcode still required by many asset-tracking, library and government systems. Upper-case letters, digits and a few symbols.

1 Your data

0 rows · 0 ready

2 Code type & look

3 Preview & export

First 0 of 0. Everything is generated in your browser.

Add some rows in step 1 and your labels appear here.

·

About Code 39

Code 39 is self-checking: each character is nine elements, three of them wide, so a single misread element cannot turn into another valid character. That is why it survived decades without a mandatory check digit.

The trade-off is size: Code 39 is roughly 30–50% wider than Code 128 for the same data. Lower-case letters are converted to upper case here, because standard Code 39 has no lower case.

Code 39 specification
CharactersA–Z, 0–9, space, - . $ / + %
LengthVariable (up to 43 here)
Used forAsset tags, ID badges, US DoD, automotive (AIAG)
Quiet zone10 modules each side
CheckOptional mod-43, usually not used
Start/stop* character added automatically

Code 39 questions

Why did my lower-case text become capitals?
Standard Code 39 only has upper-case letters. We convert automatically so the scan returns the same letters. Use Code 128 if case matters.
Do I type the * start and stop characters?
No. They are added for you. The human-readable line shows the data only.

Related tools