Printers and formats

What we print to, and what we don't.

A compatibility matrix is only useful if it is honest about the gaps. Verified means we have run it. Unsupported means it returns an error rather than printing something wrong.

Content types

Five content types, two very different paths.

Raw content goes to the queue untouched. Documents go through the station's print system. Which path you take decides how much the local machine can change your output.

contentTypeCarriesPath to the printerStatus
raw_base64ZPL, EPL, ESC/POS — base64-encodedWritten byte-for-byte to the print queueVerified
pdf_base64A PDF document, base64-encodedRendered by the station's print systemVerified
textPlain textRendered by the station's print systemVerified
raw_uriA URL the station fetches raw bytes fromDisabled by default — returns a validation errorOperator-gated
pdf_uriA URL the station fetches a PDF fromDisabled by default — returns a validation errorOperator-gated

URI content types exist in the API surface but are off unless an operator explicitly turns them on. Customer integrations should send base64 — it avoids a station making outbound requests to arbitrary URLs on your behalf.

Printer languages

What raw pass-through covers.

If your printer speaks it and you can produce it, we will deliver it unmodified.

ZPL — Zebra Programming Language

The default for shipping and product labels. Every major carrier returns ZPL for thermal label printers, and it is what we recommend for anything with a barcode.

  • Barcodes render on the printer at native resolution
  • No driver scaling, no re-rasterizing, no soft edges
  • Carrier-generated ZPL passes through exactly as issued

EPL — Eltron Programming Language

The older Zebra/Eltron language, still common on long-lived hardware like the GK420d. Treated identically to ZPL: encoded, sent, written to the queue.

ESC/POS

Receipt and kitchen printers. Same path — your bytes, including cut and drawer-kick commands, reach the device unchanged.

PDF and text

For packing slips, invoices, pick lists, and work orders. These print through the station's own print system, which means the local driver decides scaling and margins — fine for documents, not what you want for a 4×6 label.

Platforms

Where the agent runs.

The agent is an ordinary desktop application. It needs to see the printer the way any other application on that machine would.

Raw pass-through on Windows returns an explicit error today rather than printing a converted approximation.
PlatformPrinter discoveryDocuments (PDF / text)Raw pass-through
macOSVerifiedVerifiedVerified
Linux (incl. Raspberry Pi)VerifiedVerifiedVerified
WindowsVerifiedVerifiedNot yet

Printer families

What people actually plug in.

This list is not an allow-list — it is what we have run. Anything the station's OS can print to should work.

Expected means the code path is the same as a verified row but we have not run that exact hardware ourselves.
Printer familyTypical useRecommended content typeStatus
Zebra ZD-series (ZD421, ZD621)Shipping and product labelsraw_base64Verified
Zebra GK/GX-series (GK420d)Long-lived warehouse label printersraw_base64Verified
Generic ESC/POS receipt printersCounter receipts, kitchen ticketsraw_base64Expected
Office laser and inkjet (via OS queue)Packing slips, invoices, work orderspdf_base64Verified
Network printers via a station queueShared printers with no attached machineEitherVerified

Running something not listed here? Install the agent and look at the printers it registers — that answer takes about two minutes and is more reliable than any table. Download the agent →

Questions

Compatibility questions.

How do I know if my printer is supported?

If the operating system on the station can see the printer and print to it, RocketPrint can almost certainly drive it. Install the agent and it will register every queue the OS exposes. The exception is raw pass-through on Windows, which is not finished.

Do I need a driver for my Zebra?

You need a queue the OS can address. For raw ZPL we bypass driver rendering entirely and write your bytes to that queue, so driver choice does not affect output — a generic or raw queue is fine, and often better.

Can I print to a network printer that no computer is attached to?

Yes, as long as some station on that network has a queue pointing at it. The agent does not have to be on the same machine as the printer, only able to reach it the way any other application would.

What about USB thermal printers?

Supported the same way — the station's OS exposes the queue, the agent registers it, and raw content is written to it.

Why is Windows raw printing listed as unsupported?

Because it does not work yet, and printing a rasterized approximation of your ZPL would be worse than an honest error. A Windows station registers printers and prints documents today; raw pass-through returns an explicit error until the spooler binding is finished.

Two minutes to certainty

Install the agent and see your own printers.

It registers every queue the operating system exposes, and the console shows you the list.