free tool · code 39 barcode generator · nothing leaves your browser

Code 39 barcode generator

Also called Code 3 of 9, for systems that ask for it.

Code 39 is one of the oldest barcodes still in use. Older scanners, older software and some customers' label formats still ask for it. Make one Code 39 barcode or a whole run from your Excel list, then download it or print labels. Free, and nothing you type leaves your browser.

code type

Capital letters, digits, spaces and - . $ / + % only. Wider than Code 128 for the same text.

Printing opens your browser's print window. Choose your label printer, or “Save as PDF” to get a PDF of the labels. Set the scale to 100% (“actual size”), and print one sheet on plain paper first to check it lines up.

loading the generator…

what code 39 is

What a Code 39 barcode holds

Characters
43: capital letters A to Z, digits 0 to 9, space, and - . $ / + %
Start and stop
An asterisk (*) at both ends. The generator adds it
Check character
Optional, and rarely used. The generator doesn't add one
Width
Wider than Code 128 for the same value, and much wider for long numbers
Name
Also Code 3 of 9: each character has nine bars and spaces, three of them wide
Standard
ISO/IEC 16388

when to use code 39

When to choose Code 39

  • A customer's label format asks for it. Some older industry label standards specify Code 39. Follow the specification exactly.

  • An older scanner or system only reads it. Some older scanners and software were set up for Code 39 alone.

  • You print from Excel with a font. Code 39 is the one barcode you can make in Excel with nothing more than a free font (below).

For anything else, the Code 128 barcode generator gives you a shorter code that holds more characters and always carries a check character.

capitals only

Capitals, digits and seven symbols

Standard Code 39 has no small letters. Type values in capitals: the generator tells you when a character can't be drawn. Spaces work, but they're easy to lose when a list is copied between programs, so a dash is safer: BIN-A12 rather than BIN A12.

A variant called Full ASCII Code 39 draws small letters as pairs of characters, but both the printer and the scanner must be set up for it, and the code gets even wider. If you need small letters, Code 128 is the simpler answer.

code 39 in excel

Code 39 barcodes in Excel with a font

Code 39 is the easiest barcode to make inside Excel:

  • Install a free Code 39 font, such as Libre Barcode 39 from Google Fonts.

  • Add the asterisks in a new column, with a formula such as ="*"&A2&"*".

  • Set that column's font to the barcode font, make it large enough to scan, and print a test sheet.

The catch: every computer that opens or prints the file needs the font installed, and printer scaling can squeeze the bars. Pasting the column into the generator above under “Many labels” avoids both, and prints straight to label rolls or A4 sheets. For more ways, see how to generate barcodes for your shop floor.

labels that scan

Make Code 39 labels that scan

  • Leave the margins. Code 39 needs a blank margin of at least ten narrow-bar widths on each side. The generator adds it.

  • Keep values short. Code 39 is wide. As a rough guide, about 6 to 8 characters fit a 50 mm label at a size most scanners read; for more, use a wider label or Code 128.

  • Check the scanner settings. If a scanner reads Code 128 but ignores Code 39, the type may be switched off; scan the setup barcode in its manual to turn it on.

more free barcode tools

questions — and what the scan connects to

Older systems, same question.

Whatever the code, a scan is only useful if it leads somewhere current. An older system that reads Code 39 often sits next to Excel sheets and WhatsApp groups that hold the rest of the story.

We build custom systems for small and medium manufacturers that bring it into one place, around the software you already use, and your team uses them through Youno, a work chat app as simple as WhatsApp.

Book a call
What is Code 3 of 9?

Another name for Code 39. Each character is drawn with nine bars and spaces, three of which are wide: three of nine.

Can Code 39 hold small letters?

Not in standard Code 39, which has capital letters only. Type your value in capitals. If you need small letters or more symbols, use Code 128 instead.

Why are there asterisks around Code 39 values?

The asterisk is Code 39's start and stop mark, at both ends of every code. The generator adds them for you and leaves them out of the text under the code. In Excel, with a barcode font, you type them yourself.

Does Code 39 need a check digit?

No. Code 39 is designed to be read reliably without one, and most systems don't expect it. The generator doesn't add one. If your customer's specification asks for a check digit, use Code 128, which always has one, or ask them for the exact format.

Should I use Code 39 or Code 128?

Code 128 for new labels: it's shorter for the same value and holds more characters. Code 39 when a customer, an older scanner or an older system asks for it.

Can I make Code 39 barcodes in bulk?

Yes. Switch to “Many labels” and paste a column from Excel, upload a CSV or number a run. Then print them all, or download every code in one ZIP.