Barcode Generator
Free, no sign-up. Pick a type, type your data, download — that's it.
2
Enter your data
Type data that matches the barcode type you picked3
Done! Download or share
Your barcode updates automatically on every change
Color:
Advanced settings (optional)
The free tier needs no sign-up and the output carries no watermark. Get an API key to raise the limits.
How to generate barcode ZPL
- Pick the symbology: Code 128, QR, DataMatrix, EAN-13/8, UPC and others.
- Enter the data. Numeric formats (EAN/UPC) require a fixed length and a check digit; the check digit is computed when required.
- Set the module width and height. Module width is in printer DOTS; on an 8 dpmm printer 2 dots ≈ 0.25 mm.
- Copy the output as ZPL, or download it as PNG to preview.
When this is the right tool
When you want to see the right command and parameters before putting a barcode on a label. What it produces is the printer's OWN barcode command (^BC, ^BQ, ^BX), not an image — and that distinction is the whole of scannability: the printer draws the barcode at its native resolution, so bar edges land on the dot grid.
Common problems
- Which symbology should I pick? — Code 128 for logistics and warehousing; EAN-13/UPC-A for retail products; DataMatrix for small marks and part tracking; QR when a phone will scan it.
- The barcode does not scan. — Three usual causes: the module width is too small (do not go below 2 dots), no quiet zone was left, or the barcode was printed as an image. Use the verifier tool to check a printed label.
- How do I encode GS1 data with application identifiers? — With Code 128 subset C and FNC1; Labelixa's GS1-128 explanation lives on the Code 128 page.
- QR or DataMatrix? — Both are 2D. QR reads better with phone cameras; DataMatrix fits the same data into a smaller area and is standard in industrial part marking.