CPCL is the language of Zebra mobile printers (QL, ZQ, iMZ and compatibles). A session opens with a header line that carries label height and copy count, fields are separated by spaces rather than commas, and rotation is part of the command name (TEXT90, TEXT180). Many of these devices also accept ZPL or EPL in separate modes.
Paste code and see the rendered label in your browser — no printer needed.
Check a job before printing: unknown commands, missing fields and unsupported types, with line numbers.
Every command we understand, with syntax, an example and an honest support status.
These models run the language as their own — no translation layer between your job and the print head.
Where do label size and copies come from in CPCL?
From the session header (! 0 200 200 <height> <qty>) for height and copies, and from PAGE-WIDTH for width. Without a header a printer falls back to defaults — our viewer does the same and says so, because a missing header is a common cause of blank or truncated receipts.
Is the preview identical to what the printer produces?
No. Our renderer is an interpretation of the published programming guide at 203 dpi and has not been verified against physical hardware; fonts in particular are approximated. Use it to catch structural mistakes early, then verify on your own printer.
Something wrong? Tell us.
Your label content is NOT sent; only your message, the page you are on and the build version.