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 - . $ / + %.
The blank margin left and right of the bars, in modules (the width of the narrowest bar). Code 39 needs at least 10.
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-39Capital 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
| Example as SVG, PDF or EPS | 57.5 × 19.2 mm |
|---|---|
| Module (narrowest bar) | 0.353 mm |
| Bar height | 15 mm |
| Quiet zone | At 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-39PNG, 3 pixels per module
https://api.qrdx.dev/v1/barcode?format=code39&data=QRDX-39&type=png&scale=3In 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 typesBarcodes 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.