ZPL formatter & beautifier
Paste compact ZPL and get it cleanly formatted — one command per line — so it's easy to read, debug and version.
^XA ^FO50,50 ^A0N,40,40 ^FDHello ZPL ^FS ^FO50,120 ^BY2 ^BCN,80,Y,N,N ^FD123456789 ^FS ^XZ
Paste compact ZPL and get it cleanly formatted — one command per line — so it's easy to read, debug and version.
^XA ^FO50,50 ^A0N,40,40 ^FDHello ZPL ^FS ^FO50,120 ^BY2 ^BCN,80,Y,N,N ^FD123456789 ^FS ^XZ
Printers and code generators often output ZPL as one long line, which is hard to read and debug. Formatting puts each command (^FO, ^A0, ^FD…) on its own line so you can scan the structure, spot mistakes and review changes in version control.
It places every ^ and ~ command on a new line, keeps the data of a ^FD field on its line, and adds a blank line after ^XA and before ^XZ to separate each label. The output is functionally identical ZPL — only the whitespace changes.
No. ZPL ignores line breaks and spacing between commands, so formatted and minified ZPL print exactly the same. Formatting is purely for humans.
Use the formatted output to understand someone else's label, find an unterminated ^FD, or paste readable ZPL into a ticket or repo. When you're done, copy or download it.
No. ZPL is whitespace-insensitive between commands, so the formatted code prints identically to the original.
No. The data after ^FD stays on its line. (Avoid pasting ^FD text that itself contains a literal ^ or ~, which are command markers.)
This tool beautifies. To minify, just remove the line breaks — ZPL doesn't need them. Most generators already output minified ZPL.
No, everything runs locally in your browser.