ZPL validator
Paste your ZPL code and instantly see whether it's well-formed: start/end tags, balanced fields, unsupported commands and parse errors.
Paste your ZPL code and instantly see whether it's well-formed: start/end tags, balanced fields, unsupported commands and parse errors.
It confirms your label opens with ^XA and closes with ^XZ, that those tags are balanced, and that every field (^FD) is terminated with ^FS. It also parses the code to surface unsupported commands and errors, and reports the detected print width (^PW) and label length (^LL).
^XA starts a label format and ^XZ ends it; without them the printer ignores or merges your data. Every ^FD field must be closed with ^FS — an unterminated field swallows the commands that follow it, a very common bug.
If you paste ZPL that uses commands this engine doesn't render, they're listed as warnings. The label may still print on a real Zebra — the warning just means our preview can't render that command.
Validation runs entirely in your browser. Your ZPL is never uploaded to a server.
It means the structure is sound (tags, fields, parseable). Physical printing also depends on media, DPI and printer settings, but most 'nothing prints' issues are structural — exactly what this catches.
You have more ^FD than ^FS. An ^FD data block must end with ^FS; if it doesn't, the printer keeps reading the following commands as data.
Our renderer supports the common ZPL command set. Less common or printer-specific commands are flagged as warnings; they may still work on your printer.
No. Everything runs locally in your browser.
Yes — use the ZPL viewer to render it, or open it in the editor to fix and re-export.