Free ZPL viewer, editor and validator

Write Zebra ZPL, see the label render instantly, and catch mistakes before you print. A free online tool from Gem Logic for anyone who works with label printers.

Insert element

Live preview

Download PNG
ZPL label preview

Enter valid ZPL and a label size to see the preview.

This ZPL is too long for the live preview. Shorten it to preview here.

Could not render this label. Check the validation results below.

Rendering by Labelary. Preview runs in your browser, so your ZPL is not stored on our servers.

Validation

Checking your ZPL...

What is ZPL?

ZPL (Zebra Programming Language) is the text based language that Zebra and compatible label printers use to describe a label. Instead of a document, the printer reads a short block of commands that say what to print and where: a line of text here, a price there, a barcode or QR code in the corner.

Every command starts with a caret (^) and a label always begins with ^XA and ends with ^XZ. This tool renders your ZPL exactly as a 203, 300 or 600 dpi printer would, so you can design and fix labels without wasting a single roll.

How to use the ZPL designer

  1. Set the print density (8 dpmm equals a 203 dpi printer) and your label size in mm, inches or dots.
  2. Type or paste your ZPL, or load a starter template and adjust it.
  3. Use the insert element buttons to drop in text, a barcode, a QR code, a box or a line.
  4. Watch the live preview update and read the validation panel to fix any warnings.
  5. Copy the finished ZPL, or download the label as a PNG.

Common ZPL commands

CommandWhat it does
^XA / ^XZStart and end of a label. Everything lives between them.
^FO x,yField origin: position the next element at x,y (in dots).
^FD ... ^FSField data: the content to print, closed by a field separator.
^CF0,h / ^A0N,h,wSet the font and character height for the text that follows.
^BCN,h,...Code 128 barcode; h is the height in dots.
^BQN,2,mQR code; the last number is the size. Data starts with QA,.
^GB w,h,tDraw a box or line (width, height, thickness in dots).
^PW / ^LLPrint width and label length, in dots.
^FX ... ^FSA comment. The printer ignores it.

Tip: ZPL has no line comments. A semicolon (;) is not a comment marker. Anything after it is read as part of the command, which causes errors like "not a valid number" or "ignored unrecognized content". To leave a note, use ^FX your note ^FS instead.

Printing labels the easy way

Writing ZPL by hand is powerful, but you should not have to. Gem Logic designs your jewelry label printing for you and prints product tags, barcodes and RFID labels straight from your stock, with no drivers to install thanks to our smart printing controller.

Building your own workflow? You can also send labels to Zebra printers through our API integrations.

Frequently asked questions

Label printing, done for you

Gem Logic is jewelry management software that prints product tags, receipts and certificates for you, so you never have to touch ZPL again.

Book a demo
image_overlay