Free Online CODE 39 Barcode Generator
CODE39 ModeCode 39 remains a staple in manufacturing, defense, and healthcare workflows that rely on robust, easy-to-read linear barcodes. Enter uppercase letters, digits, and approved symbols, then preview and export labels without desktop software.
1. Enter barcode data
0 entries · Blank lines ignored · Duplicate values detected
2. Choose barcode settings
3. Generate
Barcode preview
Your generated barcodes will appear here.
Enter a value above and select Generate Barcode to preview the result.
Download settings
What is a CODE39 barcode?
Code 39 (also called Code 3 of 9) is one of the oldest alphanumeric barcodes still in active use. It encodes capital letters, digits, and a small set of symbols with start/stop characters that make it forgiving for manual verification. Automotive suppliers, government forms, and hospital wristband systems still specify Code 39 when equipment compatibility matters more than maximum density.
Recommended generator settings
These defaults work well for preview and download. Adjust to match your label template or scanner tests.
| Bar width | Start at 2; increase only if scans fail at your print size |
|---|---|
| Height | 100 px or taller for warehouse and logistics labels |
| Quiet zone | Keep the default margin unless your spec defines a different quiet zone |
| Readable text | Leave enabled when operators verify values manually |
| Output format | PNG for design files; JPEG for documents and quick sharing |
Practical examples
123-CT-789PART-9920ASSET-0042REV-A-2026
When should you use CODE39?
- Industrial part numbers and work-in-process tracking on shop floors
- Government and defense document labels that mandate Code 39
- Healthcare specimen and asset labels on equipment limited to Code 39
- Low-volume internal tags where scanner compatibility outweighs barcode density
Limitations and common mistakes
Switch to CODE128 when you need lowercase letters, richer ASCII, or tighter bar width for long values. Retail product labeling requires EAN or UPC symbologies instead.
- Trimming quiet zones when cropping the image for a label layout.
- Scaling the barcode unevenly so bar width ratios no longer match the generated image.
Related formats
- CODE128 Barcode Generator — Higher density and broader character support for modern logistics labels.
- Codabar Barcode Generator — Common in libraries and blood banks when Codabar is the mandated format.
CODE39 vs CODE128
| Format | Best for | Supported data | Key difference |
|---|---|---|---|
| Code 128 | Warehouse and inventory labels where the encoded value mixes letters and numbers | Printable ASCII (codes 33–126) | Denser encoding with full ASCII subsets and automatic check digit. |
| Codabar | Library checkout and inventory systems that still mandate Codabar | A, B, C, or D | 0–9 plus - $ : / . + within the start/stop frame. |
| Code 128 Set B | Mixed-case SKU or order references on packing slips and pick lists | Printable ASCII (space through ~, codes 32–126) | Uppercase and lowercase letters with digits and punctuation. |
Back to the main barcode generator · Compare all barcode types
Printing and scanning notes
Printing
- Allow adequate quiet zones; Code 39 start/stop characters need clear margins.
- Print at a width where narrow and wide bars remain distinct on your printer.
- Avoid truncating the human-readable text when operators verify codes manually.
Scanning
- Enable Code 39 on scanners that ship with it disabled by default.
- Some scanners require an asterisk start/stop in the data stream; this tool encodes standard Code 39 symbols.
- Verify inter-character gaps if labels are printed on continuous dot-matrix stock.