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.
CPCL (Comtec Printer Control Language) is the native language of Zebra's mobile receipt and label printers — the QL, RW, iMZ and ZQ families, and the Comtec models before them. It is built for roll-fed receipts of variable length rather than fixed labels: every job opens with a session header that states the height in dots and the copy count, PAGE-WIDTH sets the width, and FORM followed by PRINT closes the job. A complete delivery-note receipt looks like this:
! 0 200 200 210 1
PAGE-WIDTH 576
TEXT 4 0 30 40 Delivery note
BARCODE 128 1 1 50 30 100 4512345678
TEXT 7 0 30 150 4512345678
FORM
PRINTCompared with ZPL, the language of Zebra desktop and industrial printers, CPCL separates arguments with spaces instead of commas, puts the rotation into the command name (TEXT, TEXT90, TEXT180, TEXT270) and has no field wrapper like ^FO…^FS; the BARCODE command takes its height and ratio as positional numbers, and PAGE-WIDTH replaces ^PW. Most Zebra mobile printers also run ZPL in a separate mode, so the ZPL vs CPCL guide explains how to read which language a printer is in and when porting pays off. When a receipt prints blank or cut off, the CPCL preview and debugging guide walks through the header and width mistakes that cause it.
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.