Barcode Generator
Code 39 handles letters, digits and a few symbols, and scans in every standard barcode reader.
How Barcode Generator works
Create a scannable Code 39 barcode and download it as PNG. Code 39 handles letters, digits and a few symbols, and scans in every standard barcode reader. Everything happens inside this page: the tool reads your input, runs the calculation or conversion locally, and hands the result back to you. Nothing is transmitted, because there is no backend to transmit it to.
That design choice is deliberate. Most free tool sites upload your files to a server, process them there, and quietly keep a copy. Toolcin cannot do that — the site is a set of static files. If your connection dropped the moment the page finished loading, every tool would still work.
Code 39, character by character
The generator uses Code 39, which encodes each character as nine elements — five bars and four spaces — three of which are wide. That is why the encoded set is limited to digits, uppercase letters and a few symbols.
Each symbol is separated by a narrow gap, and the whole code is wrapped in a start and stop asterisk, which scanners use to find the beginning and end.
What Code 39 can and cannot hold
Digits 0–9, uppercase A–Z, and the symbols space, -, ., $, /, +, % and *. Lowercase letters are not representable — a code with lowercase input has to be upper-cased or a different symbology used.
Code 39 is not self-checking by default, so a smudged bar can read as a different valid code. For inventory where that matters, add a checksum character or use Code 128.
| Symbology | Holds | Density |
|---|---|---|
| Code 39 | 0–9, A–Z, few symbols | Low |
| Code 128 | Full ASCII | High |
| EAN-13 | 12 digits + check | Retail standard |
Printing it so it scans
Keep bars sharp — a laser printer at 300 dpi or better. Do not stretch the image horizontally, because the ratio of wide to narrow elements is what the scanner measures. Leave at least 10 times the narrow bar width as a quiet zone on both sides.
Good to know
- Works offline once loaded, including on flights and in locked-down networks.
- No file size limit beyond your device's own memory.
- Free to use, with no account and no usage counter.
- Results are produced locally, so they are not logged or shared with anyone.
Questions
Is anything uploaded when I use Barcode Generator?
No — everything runs inside your browser, so the data you enter never leaves your device.
Can I use the result commercially?
Yes, whatever you generate or calculate here is yours to use.
Can I encode lowercase text?
Not in Code 39; convert to uppercase first.
Is this readable by phone apps?
Yes, most scanner apps support Code 39.
Keep going
More generators tools
Name Generator
Generate name ideas from a keyword for businesses, babies or projects. Combines your keyword with curated prefixes, suffixes and patterns to produce usable names.
Open toolQR Menu Generator
Create a printable QR card that links to your restaurant menu. Enter the restaurant name and menu URL; download a 600×800 PNG ready to print.
Open toolQR Code Scanner
Read a QR code from a screenshot or photo. Upload any image containing a QR code and get the decoded text — decoded locally with jsQR.
Open toolQR Code Generator
Generate QR codes for links, text, Wi-Fi and email. Choose colours, size and error correction, then download PNG or SVG.
Open toolLorem Ipsum Generator
Generate placeholder text by paragraph, sentence or word count, starting with the classic Lorem ipsum opening.
Open toolRandom String Generator
Generate random strings with your choice of character sets. Uses crypto.getRandomValues with rejection sampling, so every character is equally likely.
Open tool