Skip to content
QRGlo

Code 39 barcode generator

An older, very forgiving barcode that almost every scanner reads, still required in automotive, defence and some ID systems.

A–Z, 0–9 and - . space $ / + %. Lower case becomes upper case.

Preview

Sample. Type your data to make your own.

Download
Save to my account
01

About Code 39

Code 39 holds upper-case letters, digits and a few symbols. Each character stands on its own, so it prints well on rough labels and old printers.

It is wider than Code 128 for the same data. Use it when a customer, a standard or an old scanner asks for it; otherwise Code 128 is the better choice.

What goes in it

Characters
A–Z, 0–9, - . space $ / + %
Lower case
Turned into upper case
Check digit
Not required
Start / stop
An asterisk at each end, added for you

Where Code 39 is used

Code 39 is one of the oldest barcodes still in use. It appears on ID badges, older industrial and automotive labels, and military and government asset tags, where existing scanners and systems expect it.

It is self-checking and easy to print, but wide: it needs much more space than Code 128 for the same data. Choose it when a system requires Code 39; otherwise Code 128 is the better default.

Printing it so it scans

Print dark bars on a white or light background; black on white is safest. Red, orange and yellow bars vanish under the red light most laser scanners use. Keep the quiet zones on both sides free of text and graphics.

Do not squash the height or crop the bars, and keep the size within the range the symbology allows. Thinner bars need more precise printing, so test small sizes first.

Send your printer SVG or PDF: they are vectors and stay sharp at any size. Before the run, scan a proof with a real scanner or a phone and check that the number it reads is right.

02

Code 39 questions

Plain Code 39 has no lower case, so we convert them.

No. We add the start and stop characters.

Yes, in automotive parts labels, US defence logistics, libraries and some badge systems.

Other barcodes

Your next code is 30 seconds away.

Make a QR code