Convert it to PDF, then print the PDF
The converter below renders the ZPL the way the thermal printer would have, then writes a PDF whose page is the label's true size — not a label floating on a sheet of A4.
- 1Drop the .zpl, .prn or .txt file onto the area below.
- 2Set the density to match the printer the file was written for: 8 dpmm is 203 dpi, 12 dpmm is 300 dpi. Guessing wrong here is what makes a label come out half-size.
- 3Check the preview. It is the rendered label, dot for dot, so a truncated address or a clipped barcode shows up before you spend paper.
- 4Download the PDF, or use the print button to send it straight to a printer from the browser.
Print at 100%, always
In the print dialog choose “Actual size” or 100% scale. “Fit to page” and “Shrink oversized pages” are the single most common reason a printed barcode stops scanning at the counter.
Why “fit to page” breaks the barcode
A barcode is not a picture of stripes, it is a measurement. Scanners read the ratio between narrow and wide bars, and a printer driver that scales the page by 94% to fit its margins changes every one of those widths by a fraction.
Text survives that treatment and looks fine, which is exactly why the problem is usually discovered at the shipping counter rather than at the printer. Print at 100% and the geometry the ZPL specified is the geometry that reaches the paper.
Getting the paper right
The standard shipping label is 4 × 6 inches, which is 101.6 × 152.4 mm. Brazilian marketplaces use 10 × 15 cm, near enough that the same stock works.
- Adhesive label sheets: print at 100% and position with your PDF reader's page-scaling off. Two 4 × 6 labels fit an A4 sheet comfortably.
- Plain paper: perfectly fine, then tape the label to the parcel. Carriers care that the barcode scans, not that the paper is sticky.
- A roll-fed non-Zebra thermal printer: set the driver's paper size to the label size first, then print the PDF at 100%.
- Do not print two labels per page unless the driver can do it without scaling. Most cannot.
If your printer is thermal but not a Zebra
Plenty of thermal printers speak a different language: EPL, PPLA or PPLB, TSPL, EZPL. They are not broken and they are not worse — they simply do not read ZPL, and sending it raw prints the commands as text.
Some multi-language models can be switched into a Zebra emulation, which is worth checking in the vendor utility before doing anything else. If yours cannot, the PDF route above works exactly the same, and printing a PDF through the vendor driver at the label's real size gives a clean result.
If you do have a Zebra, don't convert at all
A ZPL file is already a finished print job for that printer, so rendering it to PDF and printing the PDF would throw away the sharpness you bought the printer for. Send the bytes unchanged instead.
- Windows: copy /b label.zpl \\server\ZebraQueue — or share the printer and copy to its share name.
- macOS and Linux: lpr -o raw -P ZebraQueue label.zpl. The -o raw is the important part; without it the spooler tries to be helpful.
- Either way, the printer must be installed as a raw or generic text queue, not through a driver that renders pages.