Skip to content

What is ZPL?

ZPL (Zebra Programming Language) is the page-description language used by Zebra thermal printers. Instead of sending an image, applications send plain-text commands that tell the printer where to draw text, barcodes, lines, and graphics. It is the de-facto standard of shipping and warehouse labeling — most carrier and marketplace labels exist as ZPL at some point in their life.

^XA
^FO50,50^ADN,36,20^FDLabelZoom^FS
^FO50,120^BCN,100,Y,N,N^FD12345678^FS
^XZ

Every label starts with ^XA and ends with ^XZ. ^FO positions a field (in dots), ^A selects a font, ^BC draws a Code 128 barcode, ^FD carries the data, ^FS ends the field. The current version of the language is ZPL II.

  • Printers: Zebra desktop and industrial models (ZD, ZT, GK series), plus many non-Zebra thermal printers that offer ZPL emulation.
  • Files: .zpl or .txt, plain text.
  • Systems: WMS/ERP platforms, carrier APIs (FedEx, UPS, USPS), marketplaces (Shopee, Mercado Livre) — all commonly emit ZPL.

Note: .zpl is also used by Zemax lens-design files — if the file doesn’t contain ^XA, it isn’t a label. See How to open a ZPL file.

EPL (Zebra’s older Eltron language), TSPL (TSC printers), and DPL (Datamax printers) fill the same role for other printer families.