Code 39 barcode generator
Code 39 is older and wider than Code 128 but still required by many industrial, automotive and government systems.
Older industrial and ID badges. A–Z, 0–9 and - . space $ / + %.
Rendering…
SVG stays sharp at any size and is best for print. Keep the white margin either side of 1D barcodes (the quiet zone, at least 10× the narrowest bar); cropping it is the most common reason a printed barcode will not scan.
Character set
Code 39 encodes uppercase A–Z, digits 0–9 and the symbols space - . $ / + %. Lowercase is converted to uppercase. It's self-checking, so no check digit is required, and every character is framed by an asterisk start/stop character that scanners don't return. Choose it only if a system asks for it; otherwise Code 128 is more compact.
Questions
Why are there asterisks around my Code 39 text?
The asterisk is the start/stop character. Scanners use it to find the barcode but do not include it in the output.