What this site does
ZPL is the language Zebra thermal printers speak. Carrier APIs return it base64-encoded, shipping platforms switch an account over to it, and WMS or ERP print programs write it to a .prn file — so the file lands as plain text full of commands like ^XA and ^FO, and nothing on a normal machine will open it. This site renders that file, shows the label on screen, and hands back a PDF at the label's true physical size, a PNG at printer resolution, or a ZIP when the batch is large.
The reverse direction exists too: when the only artwork you have is a PDF or an image, each page becomes a ZPL label carrying the graphic, ready to send to a real Zebra.
- In: .zpl, .txt, .prn, a ZIP of label files, PDF, PNG, JPG and WebP
- Out: PDF at label size, PNG at printer density, a ZIP of PNGs, and ZPL
- Densities from 6 to 24 dpmm (152 to 600 dpi), rotation, and a manual size when the file carries no ^PW/^LL
How it works under the hood
Rendering is done by our own engine, written in TypeScript, which interprets the ZPL and draws the label as a 1-bit bitmap — the way the printer does it, with no antialiasing and no grey. Over 110 commands are recognised, barcodes included; an unsupported command becomes a visible warning rather than an error screen. The command reference on this site is generated against that engine and its examples are re-rendered by a test, so the support column is checked rather than claimed.
All of it runs on your machine, in a browser Web Worker. There is no label upload endpoint on this site: the file never leaves the browser, so there is nothing for us to store, leak or delete on request. That claim is verifiable — open your browser's Network tab before dropping a file and watch that no request carries its contents.
Who maintains it
This is an independent project, maintained by a developer in Brazil, and not an incorporated company. We would rather say so than let it be assumed, because it has practical consequences: we do not issue a Brazilian nota fiscal and we do not sell a contract with an SLA. Both are stated on the pricing cards and in the terms of use, where they could otherwise be taken for granted.
The service has existed since 2025 in an earlier version, with the same purpose and the same daily-allowance model. The current one is a full rewrite: a new engine, conversion entirely in the browser, and content written for three markets rather than translated between them.
How the service pays for itself
A label converted in your browser costs us nothing, which is why there is a free daily allowance with no signup and no card. What the paid plans sell is volume: an operation shipping by the hundred passes the free allowance before lunch. Each plan's price is on the pricing section of the home page, always in the currency of the market the page is read in.
There are no ads, no data resale and no watermarked free tier. Subscriptions are billed by Stripe, which processes the card — we store no payment details. The paid plans are not sold in the European Union or the United Kingdom, because there is no VAT/OSS registration behind them; the free plan works everywhere.
What we do not do
The privacy policy details the little that is collected — anonymous product metrics — and your rights under Brazil's LGPD.
- We do not receive your label contents: names, addresses and tracking codes never leave your browser.
- We do not require an account to convert; an account exists only to hold a subscription.
- We keep no conversion history, because we cannot — the file is never uploaded.
- We put no watermark on any plan, free included.
- We are not affiliated with Zebra Technologies or with any of the platforms named in the guides.