Barcodes are not just for supermarket checkouts. Warehouses label shelves with them, schools tag library books, offices track laptops and tools, and makers put them on product packaging. Code 39 is the workhorse format for this kind of internal labelling because it encodes letters, numbers and a few symbols, and almost every scanner ever made can read it. This generator turns your text into a proper Code 39 barcode with the required start and stop characters, quiet zones and your code printed beneath, ready to download and print on labels.
Quick Answer: Type the text or code you want to encode (letters, numbers and – . space $ / + %), adjust the bar height and scale, and download the barcode as a PNG with the human-readable text underneath.
How to Use the Barcode Generator
- Type the value to encode: an asset number, stock code, name or reference.
- Watch the preview build instantly and check the readable text under the bars matches your input.
- Set the bar height and overall scale for the label size you will print on.
- Click Download PNG and save the barcode image.
- Print a test label and scan it with the actual scanner or phone app that will be used, before printing a full batch.
Key Features
- True Code 39 encoding with correct wide and narrow bar patterns, start and stop asterisks added automatically.
- Supports the full Code 39 alphabet: A-Z, 0-9 and the symbols - . space $ / + %.
- Adjustable bar height and module scale so the same code fits small asset tags and large shelf labels.
- Human-readable value printed beneath the bars, as labelling practice expects.
- Generates locally as a canvas image: your inventory codes are never uploaded.
Best Practices and Tips
- Keep codes short: every character adds width, and a 25-character code at small scale becomes unscannable.
- Print black on white with generous margins: the quiet zones at each side are part of the barcode, not decoration.
- Test-scan from the real distance and angle the label will be used at, not just across the desk.
- For retail product sales you need an officially registered EAN or UPC number; Code 39 is for your own internal systems.
Common Mistakes to Avoid
- Typing lowercase or characters outside the Code 39 set without noticing; this standard version uses capitals, and the tool converts letters automatically.
- Stretching the downloaded image non-proportionally in a document, which distorts bar widths and breaks scanning.
- Printing on glossy or coloured stock that kills contrast, especially with inkjet fading.
- Shrinking a long code to fit a tiny label instead of shortening the code itself.
Frequently Asked Questions
What is Code 39 used for?
It is the classic self-checking barcode for internal labelling: inventory, assets, library books, ID badges, warehouse locations and military logistics. It encodes a modest alphabet very reliably and is supported by virtually every scanner.
Why are there asterisks at both ends?
The asterisk is Code 39's start and stop character. Scanners use it to know where the code begins and ends and which direction they are reading. The generator adds them automatically; they are not part of your data.
Can I barcode my product for shops with this?
Retail checkout systems expect EAN or UPC codes issued through GS1 for your company and products. A Code 39 from this generator will scan, but it is not a registered retail code and shops will not accept it as one.
How small can I print the barcode?
The narrow bars must stay resolvable by both the printer and the scanner. As a rule, keep the total width at least 25mm for short codes and scale up for longer ones, then always test-scan a printed sample.
Does the tool store my codes?
No. The barcode is drawn on a canvas in your browser from the text you type, and nothing is transmitted or saved server-side.
Related Tools