QRCodeChamp Logo

Code-39 Barcode Generator

Automotive, defense, ID badges

Linear Codes › Code-39

Valid Code-3911 charactersAllowed: A-Z, 0-9, space, - . $ / + %

Live preview
Loading barcode engine…
Download format

What is a Code-39 barcode?

Code 39, also called Code 3 of 9, is one of the oldest barcodes that can hold letters and digits. It is still common on ID badges, automotive parts, defense labels (LOGMARS) and in many older inventory systems. Almost every barcode scanner can read it.

Each character is made of nine bars and spaces, three of which are wide, which is where the name comes from. Start and stop asterisks are added automatically. Code 39 is self-checking, so a check character is optional; if you turn it on, a modulo 43 character is added. It is wider than Code 128 for the same data.

What data can Code-39 hold?

Uppercase A-Z, digits 0-9, space and the symbols - . $ / + %. Lowercase is not allowed, so we offer to convert it to uppercase or switch to Code 39 Full ASCII; the modulo 43 check character is optional.

Recommended size

Keep a quiet zone of at least 10 times the narrowest bar on each side. Code 39 gets long quickly, so keep the data short; an X-dimension of about 0.25 mm to 0.5 mm suits most labels.

More Linear Codes barcodes

How to Create a Barcode in 3 Steps

1

Choose a barcode type

Select a category on the left (e.g. Linear Codes), then the exact type like Code-128.

2

Enter data & customise

Type your data — we check it live and add check digits. Adjust size, font and colors.

3

Download or print

Get PNG, JPG, SVG, PDF or EPS, or print a full sheet of labels in one click.

Why Use QRCodeChamp Barcode Generator

125+ barcode types

Every linear, 2D, GS1, postal, healthcare and payment code.

Live validation

Friendly errors with one-click fixes and automatic check digits.

Print-ready PDF

Exact mm sizes, label sheets (Avery, A4, 4×6 thermal).

Bulk barcodes

Paste a list or generate number sequences.

Choose the Type of Barcode You Need

Not sure which barcode to use? Start with what you need it for — we’ll pick the right type.

Frequently Asked Questions

Standard Code 39 only has uppercase letters. Convert your text to uppercase, or use Code 39 Full ASCII, which encodes lowercase by combining two characters.

No. The * start and stop characters are added automatically, so type only your data.

Only if your scanner or software expects it. Code 39 is self-checking without it, and a scanner that is not set up for it will send the extra character as part of the data.

Code 39 uses more space per character than Code 128. Shorten the data, or switch to Code 128 if your system allows it.