ZPL Label Viewer

Preview a ZPL label's layout — positions, text, boxes and rotations — without running a test print.

Labels
Etichette
Comandi interpretati
Comandi ignorati

What ZPL is

ZPL is the language used to drive Zebra label printers and many compatible ones. It is not a document format: it is a sequence of commands telling the print head where to go and what to write. A label starts with ^XA and ends with ^XZ; in between, each field is made of an origin (^FO), how to render it (^A for text, ^BC for a barcode) and the content (^FD), up to the ^FS separator.

Why coordinates depend on the printer

Positions are expressed in print dots, not millimetres. A 203 dpi head gives eight dots per millimetre, a 300 dpi one gives twelve: the same code on the second produces a label two thirds the size. That is why a layout proven on one model must be revisited when the printer changes — and why resolution is a choice here.

Rotations

The letter after the font command sets orientation: N normal, R rotated ninety degrees, I inverted, B two hundred and seventy. It is the parameter most often got wrong, because rotation happens around the field origin rather than its centre: rotated text almost always lands somewhere other than expected.

Boxes that are lines

^GB draws a box, but when the height is at or below the border thickness it becomes a horizontal line, and when the width is, a vertical one. That is how separators are drawn, and knowing the rule explains many odd-looking ^GB commands in other people's code.

What this tool does not do

Barcodes are placeholders. They are drawn as boxes stating their symbology and content, so you can see how much space they take and where they land, but they are not scannable symbols. The choice is deliberate: drawing bars that look right but do not scan would give false reassurance to exactly the person checking a label before producing ten thousand of them. Verifying readability needs a test print.

Graphic fields (^GF), downloaded resident fonts and printer configuration commands are not interpreted either: when an unhandled command appears, the tool lists it rather than ignoring it silently.

Frequently asked questions

Because drawing ones that look correct but do not scan would be worse than not drawing them: it would give false reassurance to someone checking a label. The placeholder shows size, position and content, which is what layout checking needs.

The usual cause is resolution: ZPL coordinates are in dots, and at 203 or 300 dpi the same code yields differently sized labels. The second cause is fonts: the printer's resident fonts do not exist in the browser, so widths can differ slightly.

No. Parsing and drawing happen in your browser: a label often carries product codes and customer data, and there is no reason for those to leave your machine.