Barcode Generator
Free, no sign-up. Pick a type, type your data, download — that's it.
Enter your data
Type data that matches the barcode type you pickedDone! Download or share
Your barcode updates automatically on every changeHow 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 under Advanced settings. Module width is in printer DOTS; on an 8 dpmm printer 2 dots ≈ 0.25 mm — the same value is the xdim parameter in the API URL.
- Download the result as PNG, SVG or PDF, or copy the ready API URL. This page does not emit ZPL: to put the barcode on a label as a printer command, write ^BC, ^BQ or ^BX with the same parameters and check it in the ZPL preview.
When this is the right tool
When you want to settle the symbology, the data and the module width before the barcode goes on a label. What this page produces is an image (PNG, SVG or PDF) and a ready API URL — for checking and for embedding. On the label itself the barcode should be the printer's OWN command (^BC, ^BQ, ^BX) rather than 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. You write that command in the ZPL preview.
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.
Save your labels to your account and print them with DirectPrint — free account. Create free account
Same engine, same result: REST API, command line, or an AI assistant over MCP. Anonymous calls work; an API key raises the quota.
curl "https://api.labelixa.com/v1/barcodes?type=code128&data=123456789012" -o barcode.pngclaude mcp add --transport http labelixa https://api.labelixa.com/mcp # barcode_png