Published:
Very few teams choose between TSPL and EPL. The real situation is a replacement: an ageing EPL fleet is being retired, the new hardware speaks TSPL, and the templates that have worked for a decade have to be rebuilt. This page is about that move, not about which language is "better".
More than you expect. Both languages are line-oriented, both position in dots from the top-left, both terminate a job with an explicit print command, and both express barcodes as a command with positional arguments. If you can read one, the other is legible within an hour.
The shape of a job is also familiar: clear the buffer, describe the
label, print it. N and CLS do the same work;
so do P and PRINT.
| Topic | EPL | TSPL |
|---|---|---|
| Label size | q (width) and Q
(height + gap), both in dots |
SIZE in real units and GAP in real
units |
| Buffer clear | N | CLS |
| Text | A50,50,0,4,1,1,N,"HELLO" |
TEXT 50, 50, "3", 0, 1, 1, "HELLO" |
| Barcode type | A code in a positional slot
(1, 3, E30, UA0) |
A quoted string ("128", "39",
"EAN13", "UPCA") |
| Rotation | 0–3 | 0, 90, 180, 270 |
P1 | PRINT 1 |
The size command is the one that changes how you think.
EPL's q/Q are dots, so the physical label size
lives half in the file and half in the media you loaded. TSPL's
SIZE takes millimetres or inches, so the job states its own
physical size. During a migration that is an upgrade — but only if you
re-derive the geometry from measurements instead of copying the old dot
values, which were correct for one specific density.
Rotation is the other quiet trap: an EPL 2 means 180°,
while a TSPL 2 is not a valid rotation at all. A mechanical
find-and-replace produces jobs that look fine and rotate wrongly.
SIZE
wants, and it is the only value that survives a change of
resolution.Render the old job and the new one and compare them on screen: the EPL viewer and the TSPL viewer use separate engines, each with a documented scope, and both report printer-behaviour commands instead of drawing them. Per-language debugging detail is in EPL preview and debugging and TSPL preview and debugging.
ZPL is the language Zebra thermal printers understand. How to read the commands, how a label is put together, and the most common mistakes.
Which barcode symbology should I use?EAN-13, Code 128 or QR? Practical rules for picking a barcode based on your data, your space and the scanner that has to read it.
How to preview a ZPL file without a printerA ZPL file is just text — the label only exists once something draws it. Three practical ways to see a ZPL label before it reaches the printer.