Free ZPL Viewer Online
Edit ZPL and preview labels locally in your browser.
Original download retains the last opened file, pasted source or sample before editing. Current download retains all source, including unrendered commands.
Select a preview item to reveal its source.
Visual import converts only supported content from the selected label. It is not a lossless source round trip.
About this workspace
Approximate local preview of the selected label. Printer state, fonts and unsupported commands can change printed output.
Original download retains the last opened file, pasted source or sample before editing. Current download retains all source, including unrendered commands.
DPI changes the displayed physical dimensions, not the ZPL or PNG. Screen size is not actual print size. 100% zoom shows one printer dot per CSS pixel.
Paste ZPL code or open a .zpl, .prn or .txt file and see the rendered label instantly — no printer, no signup, no install. Everything renders locally in your browser, so your label data never leaves your machine. Supports text, boxes, embedded ^GF graphics and the common barcode commands — Code 128, QR, EAN/UPC, Code 39, ITF-14, Codabar and MSI — and exports the preview as a PNG.
What is a ZPL viewer?
A ZPL viewer renders Zebra Programming Language code into a visual label preview, so you can preview ZPL online and check layout, barcodes and text without feeding label stock through a thermal printer. ZPL is a raw command language interpreted by compatible printers; shipping platforms, courier APIs, ERPs and warehouse systems configured for ZPL can emit it, but the code itself is hard to inspect until it is printed or rendered. If you are new to the format, start with our guide What is ZPL?
How this viewer works
The preview is generated entirely in your browser by a JavaScript ZPL interpreter — the viewer does not upload your code to a preview service, so there is no rendering round-trip or preview-service rate limit and your label data stays on your machine. Once the app assets have loaded, rendering can continue without a network request. The interpreter currently supports this documented command subset:
| Command | What it does |
|---|---|
^XA / ^XZ | Label start / end |
^FO / ^FT | Field position (top-left / baseline origin) |
^FD / ^FS / ^FH | Field data, field separator, hex escapes |
^A / ^CF | Font, size and rotation / default font |
^GB | Boxes and lines |
^BY / ^BC | Barcode defaults / Code 128 barcodes |
^BQ | QR codes |
^FR / ^FB | Reverse (inverted) fields / text blocks with wrapping |
^PW / ^LL / ^LH | Label width, length and home offset |
^BE ^BU ^B8 ^B9 ^B3 ^B2 ^BK ^BM | Native linear barcodes: EAN-13, UPC-A, EAN-8, UPC-E, Code 39, ITF-14, Codabar, MSI |
^GF / ~DG / ^XG | Bitmap graphics: ASCII hex, run-length compression, B64/Z64 and binary data |
^BX / ^B7 / ^BF / ^B0 / ^BO / ^BD | Data Matrix (ECC 200), PDF417, MicroPDF417, Aztec, MaxiCode |
Printer commands such as ^MM or ~SD are retained for the printer and do not draw label content here. For the complete command catalog, parameter help and preview limitations, see the ZPL command reference.
Common uses
- Debugging shipping labels — preview the ZPL your courier API or shipping platform returns before anything hits the printer.
- Developing label templates — iterate on generated ZPL from your own code without wasting label stock.
- Verifying barcodes — inspect the encoded content and rendered geometry for Code 128, QR, EAN/UPC, Code 39 and more. A viewer cannot prove physical scan performance; verify the printed symbol with the target printer and scanner.
- Inspecting legacy labels — make sense of ZPL files from an old ERP or WMS nobody remembers configuring.
ZPL viewer FAQ
How do I view a ZPL file online?
Choose Open ZPL file and select your .zpl, .prn or .txt file, or paste the ZPL code into the editor. Pick the resolution your printer uses (203, 300 or 600 dpi) and the label renders immediately. Files with several ^XA…^XZ blocks are split into separate labels you can step through, and each preview can be downloaded as a PNG.
Is this ZPL viewer free?
Yes. Viewing, editing ZPL code and downloading PNG previews are free, with no account and no preview limit. An account is only needed if you want to save designs or print from the visual label designer.
Is my ZPL code uploaded to a server?
No. The preview is drawn by a ZPL interpreter that runs inside your browser, so shipping addresses, patient data and other label contents stay on your computer. That also means there is no rate limit on how many labels you preview.
Why does the preview look different from my printed label?
The most common cause is a resolution mismatch: ZPL positions and sizes are in printer dots, so code written for 300 dpi prints larger and may be cut off on a 203 dpi printer. Printer-resident fonts are proprietary, so the preview uses close substitutes, and commands the preview cannot draw are listed as warnings. Always confirm with a test print on the target printer.
Can I edit the label instead of only viewing it?
Yes. Edit the code directly with the command assistant, which inserts correctly formatted commands at the cursor, or switch to Design visually to open the label in the drag-and-drop designer and move text, barcodes and boxes on the canvas.
Related guides
- How to Open, View and Print a ZPL File
- ZPL Fonts: ^A Command, Built-in Fonts & Examples
- Labelary Alternative: Local ZPL Viewer vs Labelary
- ZPL Command Reference & Cheat Sheet
Want to edit the label, not just view it?
ZPLCraft is a full visual designer for ZPL: drag and drop text, barcodes, tables and boxes on a true-to-size canvas, then export clean ZPL or use a compatible browser-to-printer path such as WebUSB when the browser, operating system and printer expose a claimable interface. Designing is free, and every account gets free prints each month.