Generate barcode and QR Code ZPL
Choose a symbology, tune its print dimensions and get correct ZPL with a real local preview — no printer or external rendering API required.
01 / Configure
Symbol settings
02 / Generate
Ready-to-use ZPL
Includes ^XA, ^PW, ^LL and ^XZ, ready to send as a complete label.
Print-readiness diagnostics
The full label is checked for invalid parameters, clipping and insufficient quiet zones.
No errors or warnings in the generated label.
Command-aware
Parameters in the right slots
Each ^B* command has its own parameter order. The generator reads the same symbology contract as the renderer and linter.
Scanner-ready
The actual symbol, not a placeholder
The local renderer uses the generated ZPL to draw Code 128, QR, EAN, PDF417, Data Matrix and the other supported symbols.
Browser-only
Label data stays on your device
Generation, validation and preview happen in the browser. Shared ZPL travels in the URL fragment and is not sent to the server.
Frequently Asked Questions
- Which symbology should I use?
- Code 128 for general data, because it is dense and every scanner reads it. Use a specific symbology only when something else requires it — a retail GTIN needs EAN or UPC, a GS1 application identifier needs GS1 DataBar or Data Matrix.
- Why does my data not encode?
- Most symbologies accept only part of the character set. Code 39 has no lowercase, the 2 of 5 family is digits only, and the retail symbologies need an exact digit count. The form reports which rule your data broke.
- Can I get just the field instead of a whole label?
- Yes — switch the output to the field only, and you get the ^BY and ^B* lines to paste into a format you already have.