QRix
The first alphanumeric barcode ever made, and still the one that almost any scanner on earth will read without configuration.
Letters, numbers and - . $ / + % — common in industry and ID badges.
Uses the format, color and size selected above — one PNG per line, zipped.
Code 39, also written Code 3 of 9, was introduced in 1974 and was the first barcode able to encode letters as well as digits. The name describes its structure: each character is nine elements, three of which are wide. Its character set covers the digits, uppercase A to Z, and the symbols hyphen, period, space, dollar, slash, plus and percent, with an asterisk serving as the start and stop marker. It is self-checking and needs no check digit, though an optional modulo-43 one exists for high-integrity applications. The trade-off for that simplicity is width — Code 39 is the least dense common symbology, and a long value produces a long label. What keeps it alive after fifty years is universal compatibility: US Department of Defense LOGMARS labelling, automotive AIAG standards, hospital wristbands and ID badges all still specify it, and no scanner needs configuring to read it.
Employee ID and access badges
Defence and government LOGMARS labels
Automotive and industrial parts
Hospital wristbands and specimen labels
Legacy systems needing guaranteed compatibility
Digits 0–9, uppercase A–Z, and the symbols hyphen, period, space, dollar, slash, plus and percent. Lowercase letters require the Full ASCII extension, which many readers do not enable by default.
It encodes one character per nine-element group and relies on wide bars, whereas Code 128 can pack two digits into a single character. For long numeric values Code 39 can be nearly twice the width.
No. The symbology is self-checking. A modulo-43 check digit is optional and used mainly in defence and healthcare applications that require it.
Choose it when maximum scanner compatibility matters or a standard mandates it — defence, automotive, ID badges. For new internal systems Code 128 is denser and generally the better choice.
The asterisk is the start and stop character. Some systems print it in the human-readable line; it is part of the symbol structure, not part of your data.
It's free, private and works right in your browser — no signup, no watermark.