ZPL Text Label Generator
Type your text, choose a Zebra font, size and alignment, and get copy-ready ZPL with a live label preview.
Your ZPL
The preview is an approximation: bitmap fonts are drawn with a stand-in typeface, so verify on your printer. Learn more in the ^A command guide and the DPI size table.
What the generator is good for
The generator exists to save you from typing the boring parts of ZPL. You enter the words, choose a font, size and position, and it writes a complete label: the start and end commands, the print width and length calculated from your label size, the character set, and one properly formed field per line of text. It's most useful when you're learning the language, or when you need a quick one-off label and don't want to look up the syntax.
It's also a decent way to see how the pieces fit together. Change one option, watch the code change, and you'll pick up the commands faster than from a reference page. If you want to understand a command in depth, the ^A command guide and the ^CF, ^FD and ^FO basics page explain what each part does.
Going through the options
Font. Font 0 is the sensible default. The bitmap fonts are there for tiny text and OCR styles, and the downloaded-font option writes an ^A@ command that points at a file on the printer. You'll need to have installed that font first, as described in how to install a TrueType font. The preview can't show your custom font, so it uses a stand-in.
Height and width. Both are in dots. Leave width blank and it follows the height. For bitmap fonts the printer rounds to a valid multiple, so use the size calculator if you're not sure what you'll get.
DPI and label size. These set the print width and label length. Choose the resolution your printer reports, since it changes how big everything prints.
Alignment. Left with separate lines gives each line its own field, which is simplest. The block options wrap the text inside a box and let you centre or right-align it. That uses the ^FB command, which is covered in how to wrap text with ^FB.
Character set. UTF-8 is the usual choice for modern data. If your system sends Windows-1252, switch to that. The Unicode and code pages page explains the difference.
Escape special characters. This is worth leaving on. It rewrites accents, the caret and the tilde into hex codes that survive any encoding trouble between your software and the printer.
A typical workflow
Type your text, pick font 0, set the size, and check the preview. Adjust the position until it looks right. Copy the ZPL, or use the download button to save it as a file. If you want to refine it further, open it in the full preview, where you can edit the code directly and add boxes, barcodes or graphics.
When you send it to a real printer, print one label first. The preview is a good approximation of layout but it can't show exactly how a bitmap font looks or how your media behaves. Our article on testing labels without wasting media describes a routine that works well.
Limits worth knowing
The generator makes text labels. It doesn't build barcodes, tables or images, and it doesn't know about your printer's stored fonts beyond the file name you give it. For graphics, the text-to-graphic converter makes bitmap fields. For barcodes, the preview supports Code 128 if you add the commands yourself, and you can see examples in fonts for barcode text.
It also doesn't check that your text fits. If the preview shows text running off the edge, shorten it, reduce the size or switch to a block with a width. The troubleshooting page on text cut off or wrong size goes through the possibilities.
Questions
Does anything I type leave my computer? No. The page runs in your browser and doesn't send your text anywhere.
Can I use the output commercially? Yes. ZPL you generate is yours.
Why do accents turn into underscores and numbers? That's the hex escaping, and it's deliberate. The printer turns them back into the right characters.
Where can I learn the rest of the commands? Print the cheat sheet and read the 10 ZPL font commands every developer should know.
Last reviewed 2026-10-20