Skip to content
Skip to main content
ZPL II StandardZebra + Honeywell + TSCUnlimited

Free ZPL Generator

Generate Zebra Programming Language (ZPL II) labels for Zebra, Honeywell, and TSC industrial label printers. Configure label size + barcode type + position + caption, copy the ZPL text or download the .zpl file. 100% browser-based, no signup.

ZPL II Standard
100% Browser-Based
No Signup Needed
Live ZPL + PNG
ZPL Generator

Configure Your ZPL II Label

Pick an example or configure manually. The ZPL text + PNG preview update live as you type. Copy the ZPL, download the .zpl file, or open the Labelary ZPL simulator.

Try Examples

Label Dimensions

At 203 DPI: label ≈ 101.6×50.8 mm · 1 dot = 0.1251 mm

Barcode Config

Any ASCII text (letters, digits, symbols)

Field Data

Any ASCII text (letters, digits, symbols). For QR Code, the data is prefixed with QA, automatically.

Caption Below Barcode

Uses ^A0N font with size 30×30, positioned 10 dots below the barcode.

PNG Preview

Loading bwip-js barcode engine…

Rendered by bwip-js — shows the barcode portion of the label. For full label rendering, open the Labelary ZPL simulator.

ZPL II Text

^XA
^LH0,0
^PW812
^LL406
^CI28
^FO50,50
^BY3,2.0,100
^BCN,100,Y,N,N
^FDABC-1234^FS
^FO50,160
^A0N,30,30
^FDABC-1234^FS
^XZ

13 lines · 122 chars · starts with ^XA, ends with ^XZ.

Output Actions

Send the .zpl file to your printer via Zebra Setup Utilities (USB), Zebra Print Station (mobile), or a network spooler (COPY label.zpl \\\\printer\\share / lp -d printer label.zpl).

Free ZPL II generator online creating Zebra printer label commands with barcode preview — ZPL code creator for thermal label printers
Illustration: generate ZPL II printer commands for Zebra and other thermal label printers — Code 128, EAN-13, UPC-A, QR Code, live PNG preview.
Why Choose Us

The Best Free ZPL Generator

Real ZPL II text for Zebra, Honeywell, and TSC industrial label printers — fast, free, no signup.

Real ZPL II Output

Every command (^XA, ^LH, ^FO, ^BY, ^BC, ^FD, ^FS, ^XZ) follows the Zebra Programming Language II spec. The output runs on any Zebra ZT411, Honeywell PC42t, TSC TDP-225, or compatible label printer.

Live ZPL + PNG Preview

The ZPL text updates as you type, plus a rendered PNG preview shows what the printed label will look like — using bwip-js to render the barcode portion of the label.

Copy + Download .zpl

Copy the ZPL text to paste into your label-printing software, or download as a .zpl file that you can send directly to the printer via Zebra Setup Utilities, Zebra Print Station, or your own network print spooler.

100% Private

All ZPL generation runs in your browser. Your data, label dimensions, and barcode text never leave your device — no server, no logging, no tracking.

How It Works

Three Steps to a Print-Ready ZPL Label

1. Configure Your Label

Pick the label dimensions (print width + label length in dots), DPI (203/300/600), and barcode position (X, Y in dots).

2. Pick Barcode Type + Data

Choose from 10 ZPL barcode types (Code 128, EAN-13, UPC-A, ITF, Code 39, PDF417, Data Matrix, QR Code, GS1 DataBar, EAN-8). Enter the data the barcode will encode. Set bar height, narrow bar width, ratio.

3. Copy or Download .zpl

The ZPL II text appears live. Copy it to paste into your print spooler, or download the .zpl file. Optionally open the Labelary ZPL simulator in a new tab to verify the label renders correctly before printing.

Use Cases

ZPL Labels for Every Industry

From warehouse pallets to hospital UDI codes — ZPL II is the de-facto label language for industrial printers.

Warehouse Labels

Generate SSCC-18 / Code 128 / Code 39 ZPL labels for Zebra ZT411 printers on every pallet and carton in your warehouse.

Manufacturing Traceability

Print Data Matrix codes for parts tracking on Honeywell PC42t industrial printers. Encode serial numbers, lot codes, and production dates.

Shipping & Logistics

Generate ITF-14 / GS1-128 ZPL labels for shipping containers, with human-readable captions below the barcode.

Retail Shelf Labels

Print EAN-13 / UPC-A shelf-edge labels for retail. Pair the barcode with a product name caption.

Healthcare UDI

Generate GS1 DataMatrix ZPL labels for Unique Device Identification (UDI) compliance. Encode GTIN + serial + lot + expiry.

Asset Tagging

Print QR Code ZPL labels for asset tracking. Each tag links to a record in your asset-management system.

Complete Guide

ZPL Generator: The Complete A-to-Z Guide

Everything you need to know about ZPL II label commands, Zebra thermal printers, and how to generate labels free.

What Is ZPL?

ZPL stands for Zebra Programming Language. It is a small text-based command language used to print labels on Zebra thermal printers and other industrial label printers like Honeywell and TSC. The current version is called ZPL II. A ZPL label is just a short list of text lines. Each line is one command that tells the printer what to do — like draw a barcode, print a line of text, or move to a new spot on the label.

Every ZPL command starts with the ^ symbol (called a caret) and then two letters. For example, ^XA means start the label, ^FD meansfield data (the text or numbers you want to print), and ^XZ meansend the label. A whole ZPL label is usually only a few lines long. You can write ZPL code by hand, but a ZPL generator makes the code for you in seconds.

Why Use Our Free ZPL Generator?

Our free ZPL generator was built to be the simplest way to make ZPL II label code online. Here is what you get:

  • Generate ZPL II code instantly — type your data and copy the ready-to-print ZPL text.
  • Live PNG preview — see a real image of your barcode before you print anything.
  • 10 barcode types — Code 128, EAN-13, UPC-A, ITF, Code 39, PDF417, Data Matrix, QR Code, GS1 DataBar, and EAN-8.
  • Runs in your browser — 100% client-side. Your data never leaves your device.
  • Free forever, no signup — no account, no email, no API key, no watermarks.

How ZPL Works: A Simple Explanation

ZPL is a list of short text commands. Every command starts with the ^ caret symbol followed by two letters and then some numbers or text. The numbers tell the printerwhere and how big to print, and the text sayswhat to print. The printer reads each line one by one, top to bottom, and prints the label exactly as told.

Here are the four commands you will see in almost every ZPL label:

  • ^XAstart the label. Always the first line.
  • ^FO20,50field origin. Tells the printer the x (across) and y (down) position in dots. ^FO20,50 means 20 dots from the left edge and 50 dots from the top.
  • ^FDHello^FSfield data. The actual text or barcode value to print. ^FS means field separator (end of this field).
  • ^XZend the label. Always the last line.

That is the whole idea. The ZPL generator builds these lines for you so you do not have to remember the codes by heart.

Step-by-Step: Using the ZPL Generator

Follow these four steps to generate a working ZPL label:

  1. Pick your barcode type. Choose Code 128 for shipping, EAN-13 for retail products, UPC-A for North American retail, or QR Code for asset tags and URLs.
  2. Enter your data. Type the numbers or text you want the barcode to encode — for example a 12-digit UPC number or a tracking ID.
  3. Set label size and position. Tell the tool how wide and tall the label stock is (in dots) and where the barcode and caption should sit using x and y values.
  4. Copy the ZPL code or print the PNG preview. Click Copy to grab the ZPL text and send it to your printer, or save the PNG image to verify the layout visually first.

Real-World Examples of ZPL Labels

Here are three common labels that a ZPL generator makes easy:

  • Shipping label with Code 128 + address — used by parcel carriers. The barcode carries a long tracking number (up to 30+ characters) and the human-readable address sits below.
  • Retail label with EAN-13 + price — used on store shelves worldwide. The 13-digit EAN-13 barcode encodes the product GTIN and the caption shows the price and product name.
  • Asset tag with QR code + serial — used for IT equipment tracking. The QR code links to a maintenance page and the printed serial number helps workers read the tag without a scanner.

Who Uses a ZPL Generator? Industries and Roles

ZPL II is the de-facto label language for industrial thermal label printers. Many fields rely on it every day:

  • Logistics & Shipping — parcel labels, packing slips, and carrier-compliant shipping labels.
  • Retail — shelf-edge price labels, product stickers, and weight labels for fresh goods.
  • Manufacturing — work-in-progress tags, part labels, and carton labels on the production line.
  • Healthcare — patient wristbands, specimen tube labels, and pharmacy unit-dose labels.
  • Warehousing — bin labels, location labels, and pallet SSCC labels for stock control.

ZPL Glossary: Key Terms Explained

ZPL
Zebra Programming Language — the original text-based command language for Zebra printers.
ZPL II
The modern version of ZPL. Adds faster printing and more commands. Almost every Zebra printer in use today speaks ZPL II.
Zebra Printer
A brand of industrial thermal label printer. Zebra models include the ZT411, ZT421, ZD420, ZD621, GX420, and many others.
Thermal Label
A label printed using heat, not ink. Either direct thermal (heat-sensitive paper) or thermal transfer (a heated ribbon melts wax or resin onto the label).
^FO (Field Origin)
The ZPL command that sets the x and y position of the next field, measured in dots from the top-left corner of the label.
^FD (Field Data)
The ZPL command that holds the actual text or barcode value you want to print. Closed by ^FS.

Tips for Getting the Best Results

Keep these five tips in mind and your ZPL labels will print cleanly every time:

  • Know your printer model. Each Zebra model has a fixed DPI (203, 300, or 600). The DPI decides how many dots make one inch, so pick the right one in the tool.
  • Set label width (^PW) and length (^LL) to match stock. Wrong sizes make the printer cut the label in the wrong spot or waste media.
  • Use ^CI28 for UTF-8 text. This tells the printer to expect international characters and symbols, which is needed for non-English labels.
  • Preview before printing. Always check the PNG preview first. It saves labels, ribbon, and time.
  • Save ZPL as .prn files. Many print spoolers expect the .prn extension for raw ZPL files. Rename your .zpl to .prn if your spooler complains.

Common Mistakes to Avoid

Four mistakes cause most ZPL printing problems. Skip them and you will save hours:

  • Forgetting ^XA at the start and ^XZ at the end. Without these, the printer will not see a complete label and will skip it.
  • Mixing up x and y coordinates. In ^FO the first number is x (across) and the second is y (down). Swap them and your field lands in the wrong place.
  • Wrong DPI scaling. If your label was designed at 203 DPI but the printer is 300 DPI, the barcode will look stretched. Always match the tool's DPI to the printer.
  • Using unsupported characters. Some special symbols are not in the default ZPL font table. Use ^CI28 for UTF-8 or switch to a TrueType font with ^A@.

ZPL Generator vs Label Design Software

Paid label design software like BarTender, ZebraDesigner, and NiceLabel gives you drag-and-drop design, database connections, and print automation. They are great if you print thousands of varying labels every day across a big factory. The downside is cost (hundreds of dollars per seat), install time, and learning curve.

Our free ZPL generator is the right pick when you need a quick, correct ZPL II label without installing anything. It covers the most common barcode types and label sizes, runs in any browser, and never charges you. For one-off labels, prototype testing, or learning how ZPL commands work, the free tool is faster and easier than the paid suites.

Ready to Generate Your ZPL Label?

You now know what ZPL is, how ZPL commands work, who uses ZPL labels, and the common mistakes to dodge. Pick a barcode type, type your data, copy the ZPL II code, and print it on your Zebra, Honeywell, or TSC thermal label printer. It is free, private, and takes about ten seconds. Jump back to the generator above ↑

FAQ

Common Questions

Is the ZPL generator free?

Yes. No signup, no API key, no credit card. Generate unlimited ZPL labels free forever.

What is ZPL?

ZPL (Zebra Programming Language) is a page-description language used by Zebra, Honeywell, and TSC industrial label printers. ZPL II is the current version — a text-based format where each command starts with `^` (caret) followed by a 2-letter code and parameters.

What printers support ZPL II?

Zebra (ZT411, ZT421, ZD420, ZD621, GX420, GX421, etc.), Honeywell (PC42t, PC42d, PC43, PD43), TSC (TDP-225, TTP-2443, TTP-2610), and many others. ZPL II is the de-facto standard for industrial thermal label printers.

What's a 'dot'?

A dot is the smallest printable unit — equivalent to 1/DPI inches. At 203 DPI, 1 dot = 0.0049 inches (~0.125 mm). At 300 DPI, 1 dot = 0.0033 inches (~0.085 mm). At 600 DPI, 1 dot = 0.0017 inches (~0.042 mm).

How do I send the .zpl file to my printer?

Three ways: (1) Zebra Setup Utilities — connect your printer via USB and "Send File". (2) Zebra Print Station mobile app — open the .zpl file from your phone. (3) Network spooler — `COPY yourlabel.zpl \\printer-ip\sharename` from a Windows command prompt, or `lp -d printername yourlabel.zpl` from Linux/macOS.

What is Labelary?

Labelary (labelary.com) is a free online ZPL viewer and simulator. We link to it so you can verify your generated ZPL renders correctly before printing — but you don't need to use it; the bwip-js preview in our tool shows the barcode portion of the label already.

Is my data private?

Yes. All ZPL generation runs in your browser. Your data, label dimensions, and barcode text never leave your device — no server, no logging, no tracking.

What barcode types are supported?

10 ZPL barcode types: Code 128 (^BC), EAN-13 (^BE), EAN-8 (^B8), UPC-A (^B9), ITF/Interleaved 2 of 5 (^B2), Code 39 (^B3), PDF417 (^B7), Data Matrix (^BX), QR Code (^BQ), GS1 DataBar (^BR).

Ready to Generate ZPL Labels?

Free, no signup, no rate limit. 10 ZPL barcode types. Live ZPL text + PNG preview. 100% browser-based.

Open the Generator