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.
What it looks like
Section titled “What it looks like”^XA^FO50,50^ADN,36,20^FDLabelZoom^FS^FO50,120^BCN,100,Y,N,N^FD12345678^FS^XZEvery 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.
Who uses it
Section titled “Who uses it”- Printers: Zebra desktop and industrial models (ZD, ZT, GK series), plus many non-Zebra thermal printers that offer ZPL emulation.
- Files:
.zplor.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.
View or convert ZPL
Section titled “View or convert ZPL”- See the label without a printer: ZPL viewer
- Get a printable document: ZPL to PDF
- Produce ZPL from a PDF or image: PDF to ZPL
- Automate it: the REST API
Related languages
Section titled “Related languages”EPL (Zebra’s older Eltron language), TSPL (TSC printers), and DPL (Datamax printers) fill the same role for other printer families.