Convert ZPL to EPL2: command equivalents for legacy Zebra/Eltron desktop printers
Mapping ZPL to EPL2 for LP/TLP-series and other EPL-only printers, the features that do not exist in EPL2, and a before/after example.
EPL2 is the language of the older Eltron and Zebra desktop printers (LP 2844, TLP 2844, GK/GX in EPL mode). They are still everywhere in receiving docks and pharmacies, and they cannot read ZPL. When headquarters designs in ZPL and a branch only has LP printers, someone has to produce EPL2 — a simpler, line-oriented language with fewer features.
Command equivalents
| Operation | ZPL | EPL2 |
|---|---|---|
| Start / end | ^XA … ^XZ | N (clear buffer) … P1 (print) |
| Label size | ^PW812 ^LL609 | q812 Q609,24 |
| Text | ^FO40,30 ^A0N,36,36 ^FDHello^FS | A40,30,0,4,1,1,N,"Hello" |
| Code 128 | ^BY2 ^BCN,90,Y,N,N ^FDdata^FS | B40,130,0,1,2,4,90,B,"data" |
| QR / 2D | ^BQN,2,6 ^FDQA,data^FS | b40,130,Q,m2,s6,"data" |
| Line / box | ^GB300,2,2^FS | LO40,120,300,2 / X40,120,2,340,300 |
| Copies | ^PQ5 | P5 |
| Darkness / speed | ^MD10 ^PR3 | D10 S3 |
| Orientation | ^FWN / ^FWR | ZT (top) / ZB (bottom) |
What EPL2 cannot do
- No scalable fonts: EPL2 has five fixed fonts (1–5) with integer multipliers. A 36-dot ZPL headline becomes font 4 or 5 at ×1 or ×2 — the nearest available size, not the exact one.
- Limited 2D support: QR, Data Matrix, PDF417, MaxiCode and Aztec exist via the b command, but with fewer options; GS1 DataMatrix needs the FNC1 handled manually.
- No RFID, no ^SN serialization command; counters must be generated by the software for every label.
- Graphics are bitmaps only (GW) and must be sent per label or stored with GK/GM; large logos slow the printer noticeably.
- Reverse (white-on-black) is limited to fonts and lines; ^FR field reversal on complex objects has no equivalent.
Before and after
^XA ^PW812 ^LL609 ^FO40,30 ^A0N,36,36 ^FDSafety Harness^FS ^FO40,130 ^BY2 ^BCN,90,Y,N,N ^FD7501234567893^FS ^PQ1 ^XZ
N q812 Q609,24 A40,30,0,4,1,1,N,"Safety Harness" B40,130,0,1,2,4,90,B,"7501234567893" P1
Migration checklist
- Inventory which ZPL features each template uses; anything from the list above needs a design decision, not just a translation.
- Test text widths: EPL2 fonts are wider; product names that fit in ZPL may wrap or clip.
- Keep both outputs in the library — the EPL2 printers will be replaced eventually and the ZPL version will be the one you keep.
How EtikStudio does it
The neutral design is exported to EPL2 with the nearest font sizes chosen by printed metrics, barcodes rebuilt with EPL2 syntax and FNC1 handled for GS1, and counters expanded per label by the print engine. Where EPL2 lacks a feature, the editor warns before printing instead of silently dropping the object.
Command examples are simplified for clarity; exact syntax varies by printer model and firmware. Always test on the target printer.