Launch

30% off your first month of Pro30% off month one$9.90 → $6.93

See plans
ZPL em PDF

Guide · Format

What is a ZPL file?

You downloaded the label, opened it, and instead of a label got a wall of symbols starting with ^XA. Nothing is corrupt and the download did not fail: that is ZPL, and what you are looking at are the instructions a printer follows to draw the label. This page covers what it is, how to read it at a glance, and how to see it drawn.

Checked on September 1, 2026

It is text, not an image

ZPL stands for Zebra Programming Language. A .zpl file — or .txt, or .prn, the name changes nothing — is plain text full of instructions: put this text at this position, draw this barcode at this width, rule this line.

Which is why a text editor opens it perfectly and helps not at all: it does exactly what you asked, showing you the text. What is missing is something that executes the instructions, which is what a thermal printer does — or the viewer on this page.

How to read a line of ZPL

Every label starts at ^XA and ends at ^XZ. In between, each instruction begins with a caret and two letters, followed by its parameters separated by commas.

Take ^FO50,120^A0N,40,40^FD123 Example St^FS: put the next field 50 dots across and 120 down; use font 0, unrotated, 40 dots tall; the content is “123 Example St”; end of field. Four commands, one line of a label.

  • ^XA … ^XZ — the start and end of one label. Two blocks are two labels.
  • ^FO — where the next thing is drawn, in dots from the corner.
  • ^FD — the content: the text, or the barcode's data.
  • ^FS — closes the current field. Forgetting it is the most common cause of a label that renders as one run-on line.
  • ^BC, ^BQ — a Code 128 barcode and a QR code.
  • ^PW, ^LL — the label's width and length, in dots.

Why systems hand it over this way

Because it is what the printer wants to receive. A PDF has to be rasterised and rescaled before printing, and that step is where a barcode loses precision; ZPL arrives with its measurements already expressed in printhead dots.

It is also why ZPL turns up one layer down in your stack rather than in a marketplace download: a carrier API returns it base64-encoded, ShipStation switches an account to it through support, EasyPost and Shippo take it as a request parameter, and a WMS or ERP writes it straight to .prn.

How to open one

Drop the file into the converter below and the label appears drawn, the way it would come off a thermal printer, dot for dot. From there it downloads as a PDF at true physical size, a PNG at printer resolution, or prints straight from the browser.

All of it happens inside your browser: the file is never uploaded to a server, which is what matters when what is inside it is a customer's address.

Drop your .zpl, .txt or .prn file here

Drag the file in, paste the code, or pick it from your device

.txt · .zpl · .prn · .zip · .pdf · .png · .jpg — 30 labels a day

The conversion happens in your browser: your file never leaves your device.How that works
Free, no signupNo uploadNo watermarkBatches of many filesPDF · PNG · ZIP

Questions

Frequently asked questions

What program opens a ZPL file?

Any text editor shows you the code; seeing the label needs something that draws it. This page is the second thing: drop the file and the label appears, with a PDF or PNG download beside it.

Are a .txt and a .zpl the same thing?

When ZPL is what is inside, yes: the extension does not change the content. Platforms tend to hand it over as .txt and systems as .prn. If it starts with ^XA it is a ZPL label, whatever the file is called.

Can you edit ZPL by hand?

You can, and it is easier than it looks: changing a number in ^FO moves the field, and changing the text in ^FD changes what prints. The editor on this page shows the result as you type.

Is it the same as EPL or TSPL?

No. They are different languages from other printer makes, with different commands. An EPL or TSPL file will not print on a Zebra and will not open here — the one starting with ^XA is ZPL.

Other guides