ZPL vs EPL Fonts
How fonts differ between ZPL II and EPL2 printer languages, with command equivalents and guidance on migrating.
ZPL and EPL are the two command languages Zebra printers speak. Many desktop printers support both. Their font systems are quite different.
Side-by-side
| ZPL II | EPL2 | |
|---|---|---|
| Built-in fonts | A to H, 0 (scalable), GS | Fonts 1 to 5 (bitmap) |
| Scalable fonts | Yes (font 0, TrueType) | No |
| Sizing | Any dot size for scalable; multiples for bitmap | Multipliers 1 to 8 for horizontal and vertical |
| Font command | ^A |
Part of the A text command |
| Downloaded TrueType | Yes, with ^A@ or ^CW |
No; soft fonts are bitmap only |
| Unicode | ^CI28 and TrueType |
Limited code pages |
| Rotation | N R I B |
0 to 3 |
| Position | ^FO, ^FT |
Coordinates in the A command |
The same text, both languages
ZPL:
^XA
^FO50,50^A0N,40,40^FDHello^FS
^XZ
EPL2:
N
A50,50,0,3,1,1,N,"Hello"
P1
EPL’s A command is Ax,y,rotation,font,h-mult,v-mult,reverse,"text".
Why ZPL wins for fonts
- Scalable text at any size, rather than whole-number multipliers.
- Downloadable TrueType for brand typefaces and non-Latin scripts.
- Unicode and richer code pages.
- Field blocks (
^FB) for wrapping.
When EPL is still used
- Old designs and software that only generate EPL.
- Simple fixed-size labels where bitmap fonts are enough.
Many newer printers (ZD series on Link-OS) can still run EPL, but EPL is a legacy language. New work should target ZPL.
Migrating EPL to ZPL
- Convert positions: keep dots if the DPI is the same.
- Map fonts: EPL font 1 to ZPL
A/Bterritory, 2 toB/D, 3 toD/0, 4 toE/0, 5 toF/0. Test visually; they aren’t identical. - Replace multipliers with dot heights: multiplier x base cell height.
- Check the printer is in ZPL mode (a configuration setting, not something the label sets).
Preview ZPL results before printing in the live preview.
A short, honest history
EPL came first, as the language of Eltron printers that Zebra later took on. It’s compact and simple, designed for a time when printers had very little memory. ZPL arrived with Zebra’s own printers and grew into the much richer language that most of the industry now uses. Many desktop printers still understand both, which is why you’ll sometimes find EPL labels running in an office that has otherwise moved on.
The font systems reflect that heritage. EPL gives you a handful of fixed bitmap fonts and lets you magnify them. ZPL gives you bitmap fonts, a scalable font and the ability to load TrueType files. That’s a big difference once you care how things look.
What EPL does well
It’s worth giving EPL its due. For simple labels, a name, a code and a barcode, EPL is perfectly adequate, and its commands are short and easy to read. A single line carries position, rotation, font, magnification and text. People who learned it often find it quicker to write by hand than ZPL.
It’s also stable. Labels written years ago still print the same way today. If you have a working EPL setup and the labels don’t need to change, there’s a good argument for leaving it alone.
Where EPL runs out of road
The limits show up the moment you want anything beyond the basics. You can’t scale text smoothly: the sizes are multiples of fixed fonts, which means jumps rather than a gradual choice. You can’t use your company’s typeface. Support for languages beyond a few Western code pages is thin. And newer printers keep adding capabilities to ZPL while EPL stays frozen.
If any of that sounds like your needs, that’s your signal. A client asking for a brand font, a new market with a different alphabet, or a redesign that needs finer control over sizes are all common triggers for moving to ZPL.
Practical migration advice
Don’t try to convert everything at once. Pick one label, rebuild it in ZPL, and compare printed samples side by side. EPL font numbers don’t map neatly to ZPL fonts, so start by matching the physical size of the text rather than the font itself. Convert the magnification into dots, as described in font sizes by DPI, and check the result with the live preview before printing.
Check the printer mode as well. Many desktop models can be switched between languages, and the setting lives on the printer, not in the label. If you send ZPL to a printer in EPL mode, you’ll get garbage or nothing. Print a configuration label to see which language is active.
Plan for the font part of the migration early. If you’re moving because you need non-Latin text or a custom font, read downloading TrueType fonts and Unicode and code pages first, since they shape the design.
Choosing for a new project
For anything new, choose ZPL. It’s more widely supported across manufacturers, there are far more examples and tools available, and it will carry you through future requirements. Our ZPL cheat sheet is a handy reference while you learn. Reserve EPL for maintaining what already exists.
There’s a related question about whether to stay with Zebra at all, or consider other brands that emulate ZPL. We tackle that in Zebra versus other label printers. And our blog has an article on choosing between ZPL and EPL in more detail.
Quick answers
Is EPL being discontinued? It’s considered a legacy language. New features go into ZPL.
Can one printer handle both? Many can, one at a time, depending on the mode.
Are EPL fonts the same as ZPL fonts? They look similar in spirit but aren’t identical. Expect small differences.
Will my EPL barcodes convert directly? Barcode commands differ. Rebuild and test them with a scanner.
Last reviewed 2026-10-20