How to Convert ZPL to PDF
Turn a Zebra label file into a print-ready PDF at the right physical size — and understand why the PDF sometimes prints smaller than the real label.
· 3 min read
There are three moments when a ZPL file is not enough and you need a PDF: a customer asks for a copy of the label, an auditor wants the shipment record, or the thermal printer is unavailable and someone has to print on office paper.
The conversion is mechanical, but it has one trap that catches everybody the first time.
What you need before you start
ZPL describes a label in printer dots. To turn that into a page, a converter needs two more facts that are not in the file:
- The print density the label was designed for — 203, 300 or 600 dpi.
- The physical label size in inches, such as 4 × 6 for a shipping label.
Get either wrong and the layout will be off. A label designed at 203 dpi and converted as if it were 300 dpi comes out with everything crowded into the top-left corner.
Converting
Open ZPL to PDF and:
- Paste the ZPL, or upload the
.zplfile your label software exported. - Set the density to match the printer the label is meant for.
- Enter the label width and height in inches.
- Choose portrait or landscape.
- Decide whether to export every label in the file or only the first.
- Press Convert and download.
Each ^XA … ^XZ block becomes one page, sized in points so the page is physically the same size as the label.
The trap: your reader is scaling the page
This is the part that surprises people. You convert a 4 × 6 label, print the PDF, and the result is noticeably smaller than a real label.
Nothing is wrong with the PDF. Your reader is fitting the page to the paper. In the print dialog:
- Adobe Acrobat: Page Sizing → Actual size
- Chrome / Edge: More settings → Scale → Custom, 100
- Preview (macOS): Scale → 100%
With scaling at 100% the label measures exactly what it should. It is worth checking with a ruler once, so you know your setup is right.
Batching
A file with a hundred labels becomes a hundred-page PDF. That is often exactly what you want for an archive, but there is a per-document ceiling so a single request cannot occupy the renderer indefinitely. If you exceed it, split the file — the blocks are independent, so cutting between any ^XZ and the next ^XA is safe.
PDF or PNG?
Use PDF when the output will be printed. It carries the physical page size and keeps barcodes as vector paths, so they stay sharp and scan correctly.
Use PNG when the output will be looked at: a support ticket, a wiki page, a message to a supplier. It is a raster image, so it will not print at a guaranteed size, but it embeds anywhere.
If the barcode will not scan off the PDF
Three things to check, in order:
- Scaling. A barcode printed at 90% has bars 10% too narrow. Print at actual size.
- Module width.
^BYsets the narrow bar width in dots. Below 2 at 203 dpi, an office laser printer struggles to reproduce the bars cleanly. - Quiet zone. Scanners need a blank margin either side of the symbol — roughly ten times the narrow bar width. If your
^FOputs the barcode against the edge, it will not read reliably no matter how good the print is.
Checking before you convert
If the layout is what you are unsure about rather than the file format, preview it first in the ZPL Viewer. It uses the same renderer and the same settings, so what you see there is what the PDF will contain.