Code 39 barcode generator
Code 39 is a simple, old barcode for asset tags, badges and inventory lists that holds capital letters, digits and a few symbols. Opo Codes draws it free in your browser, checks the scan and exports PNG, SVG or PDF. If your text has lowercase letters, this page also explains the Extended type.
Open the generatorFree. Runs in your browser.
How to do it
- Open the generator with Code 39 already selected.
- Type capitals, digits and the symbols the tool allows, for example ASSET-0042.
- If the tool refuses a character, change it, or switch to Code 39 Extended for lowercase.
- Check the scan stamp, choose PNG, JPG, SVG or PDF, then download.
What Code 39 can and cannot encode
It takes 43 characters: the digits 0 to 9, the capitals A to Z, and seven symbols: hyphen, full stop, space, dollar, slash, plus and percent. Nothing else. Lowercase letters, accents, Bangla and the asterisk are refused with a message. The asterisk is refused because Code 39 uses it as the start and stop mark, and the generator adds those itself.
So ASSET-0042 works, asset-0042 does not. Code 39 Extended is a separate type that accepts lowercase and other plain keyboard characters by sending two characters for each one. Its code is wider, and some scanners must be set to read full ASCII, so test a printed copy with yours.
Worked example: Code 39 against Code 128
ASSET-0042 in Code 39 is 192 modules wide, about 63 mm at the default 0.33 mm bar width. The same text in Code 128 is 134 modules, about 44 mm. Code 39 is simple and every reader knows it, but it takes about 40 percent more width for the same text.
This generator does not add the optional Code 39 check character. If a system you feed needs one, it has to be part of the text you type.
Use and print
Good fits are asset tags, ID badges and older inventory systems that read only Code 39. For anything new with a free choice, Code 128 is more compact. Code 39 holds no product numbers and is not a retail barcode.
Keep dark bars on a light background and the quiet zone at its default 11 bar widths. Keep bar width at 0.25 mm or more, since the generator warns below that. Export SVG or PDF for printing.
Questions
Why does it refuse my lowercase text?
Standard Code 39 has no lowercase letters. Type capitals, or switch to Code 39 Extended, then test it with your scanner.
Why can I not type an asterisk?
Code 39 uses the asterisk as its start and stop mark. The generator adds them, so the text must not contain one.
Is there a check digit?
Not by default, and this generator does not add the optional one. A scanner reads the text as typed.
Code 39 or Code 128?
Choose Code 39 only if a system or a customer requires it. Code 128 holds more and is narrower.