Free Code 39 Barcode Generator

Code 39 is an older barcode for capital letters, digits and a few symbols. Nearly every scanner reads it, and some industries and older systems still require it. Type up to 40 characters, check that it scans and download it.

Up to 40 capital letters, digits, spaces and - . $ / + %.

15 mm
10 modules

The blank margin left and right of the bars, in modules (the width of the narrowest bar). Code 39 needs at least 10.

4×

Made in your browser; nothing you type is sent to QRdx. WebP and AVIF are encoded by QRdx's server when you pick them, and nothing is kept.

Where Code 39 barcodes are used

Labels in systems that specify it: older automotive and defence labels (LOGMARS), ID badges and legacy inventory systems.

If nothing requires Code 39, use Code 128: it holds lowercase letters and makes a shorter barcode for the same text.

Do I need to register a Code 39 barcode?

No. Code 39 carries your own text: serial numbers, part numbers, IDs. There's nothing to license.

What Code 39 can hold

What it takes

Up to 40 capital letters, digits, spaces and - . $ / + %.

Example

QRDX-39

Capital letters A to Z, digits, spaces and - . $ / + %, up to 40 characters. Lowercase letters show an error: use capitals, or Code 128 for mixed case.

Each code is wrapped in start and stop asterisks, which aren't typed or decoded. This generator adds no optional check character, which suits most systems; if yours requires a modulo 43 check, add it to your text yourself.

Code 39 barcode size

Sizes of the Code 39 example at the generator's default settings
Example as SVG, PDF or EPS57.5 × 19.2 mm
Module (narrowest bar)0.353 mm
Bar height15 mm
Quiet zoneAt least 10 modules each side; the generator starts with 10
  • Each Code 39 character is 13 to 16 modules wide, against Code 128's 11, so the same text makes a wider barcode: ABCDEFGHIJ is 74.4 mm in the downloads, 58.2 mm as Code 128.
  • Keep 10 modules of blank space each side, and make the bars at least 15% of the length, or 6.35 mm, so they're easy to sweep.

Code 39 barcode API

The same barcode is an image URL, with no API key: put it in an img tag, a label template or a product feed. It checks the value the way this page does, and allows 300 requests a minute per IP address. The barcode API docs list every option.

SVG image

https://api.qrdx.dev/v1/barcode?format=code39&data=QRDX-39

PNG, 3 pixels per module

https://api.qrdx.dev/v1/barcode?format=code39&data=QRDX-39&type=png&scale=3

In a web page

<img src="https://api.qrdx.dev/v1/barcode?format=code39&data=QRDX-39" alt="Code 39 QRDX-39" />

Code 39 barcode FAQ

Can Code 39 do lowercase?

Only in an extended mode (Full ASCII) that pairs characters, which this generator doesn't offer. Use Code 128 for lowercase.

Should I type the asterisks?

No. The start and stop characters are added for you, and the asterisk can't be part of the text.

Other barcode types

All 11 barcode types

Barcodes are static: the data is in the bars, so they work offline and never expire. For a link people scan with a phone camera, use one of the QR code generators.

Make your next QR code in seconds.

Free forever. No signup, no watermark.

Start Creating QR Codes for Free