Business tools · barcodes · nothing uploaded

Code 39 barcode generator

Code 39 is the older alphanumeric barcode still required by many asset, defence and automotive systems. Capitals, digits and a few symbols.

A–Z, 0–9, space and - . $ / + %, up to 43 characters

Text, colour, quiet zone and rotation

Free, no watermark. SVG and PDF are vector and print sharp at any size; the PDF page is exactly the barcode's size.

Many barcodes at once: a ZIP of PNG or SVG files
Or load a CSV: the first column is used. Free up to 20; lifetime licence up to 5,000.

Files are named after each value and use the size, colours and options above. Invalid values are skipped and listed in errors.txt.

Print-ready sheets and bigger batches: A$4.99 for 30 days or A$19 lifetime

Free, always

Every symbology, every single-barcode download (SVG, PNG, PDF) with no watermark, ZIPs of up to 20 barcodes, and the label-sheet preview and calibration page.

Lifetime, for small businesses

A$19

Everything in print-ready sheets, for good, plus ZIPs of up to 5,000 barcodes.

Buy lifetime

Charged in your local currency at checkout. Prices include GST for Australian buyers.

What Code 39 is

Code 39, also called Code 3 of 9, was one of the first alphanumeric barcodes, introduced in 1974. Each character is nine elements (five bars and four spaces), three of which are wide. It encodes the capitals A to Z, the digits 0 to 9, space and six symbols: - . $ / + %. It is self-checking, so a check digit is optional, and every scanner reads it.

When to choose it

Code 39 is wider than Code 128 for the same data, so for a new system Code 128 is usually better. Choose Code 39 when a system, a customer or a standard asks for it: US defence (MIL-STD-129 LOGMARS), automotive industry labels, many asset-management packages, and older warehouse and library systems. Some ID badge and access systems also expect it.

Size and quiet zone

Code 39 tolerates printing variation well because its wide and narrow elements differ by a ratio of 2 to 3 times. Use a narrow element of at least 0.19 mm for close scanning and larger for distance; the quiet zone is at least 10 narrow elements on each side. Set the width and bar height and the tool reports the resulting module size.

Characters

Lower-case letters are converted to capitals, and any other character is rejected with an explanation. The human-readable line shows the start and stop asterisks, which is the common convention; turn the text off if your label design prints its own.

Printing tips

Why barcodes fail to scan

Which download to use

To make many at once, use the ZIP option below the generator: paste one value per line or load a CSV and download PNG or SVG files named after each value.

How this tool works

Barcodes are drawn in your browser with bwip-js, an open-source (MIT) port of Barcode Writer in Pure PostScript, and PDFs are written with pdf-lib. Nothing you type is uploaded, and the page works offline after the first visit. Single barcodes are free in every format with no watermark. Paid licences cover print-ready label sheets and large batches; see the box above.

Frequently asked questions

Code 39 or Code 128?

Use Code 128 unless a system requires Code 39. Code 128 is about 30% shorter for the same text and supports lower case.

Why are there asterisks around the text?

The asterisk is Code 39's start and stop character. Many systems show it in the human-readable text; it is not part of the data.

Does Code 39 have a check digit?

It is optional (mod-43). This tool leaves it off, as most systems expect; turn it on only if your system needs it.

Can it encode lower case?

No. The tool converts letters to capitals. Full ASCII Code 39 exists but is rarely supported.

What is the maximum length?

There is no fixed maximum, but this tool stops at 43 characters to keep the barcode scannable.

What is Code 39 used for?

Asset tags, ID badges, US Department of Defense labels (LOGMARS), automotive (AIAG) labels and many legacy warehouse systems.

Sources

Rules on this page last verified against these sources on 29 October 2026. This is general information, not tax or legal advice.

Related