Zebra printer on a Mac: no driver to install, but calibrate it
Zebra is the easiest of the common thermal printers to get running on a Mac, for a reason worth stating up front: there is no driver to install. Zebra recommends CUPS on macOS, and macOS already has CUPS.
No download, no Gatekeeper prompt, no model-specific package — none of the friction that MUNBYN and Xprinter demand.
Setting it up
- Connect the printer over USB and switch it on.
- Open System Settings → Printers & Scanners and add it.
- Leave macOS to pick the driver. It will choose a CUPS entry for the model, and that is the right one.
- Set the default paper size to 4 x 6 or 100 x 150 mm.
Take anything you do download from Zebra directly rather than a driver-aggregator site. Utilities from third-party mirrors are usually old, sometimes Windows-only, and none of it is needed for ordinary label printing anyway.
Calibration, and why it matters more here
Zebra printers rely on a sensor to find the gap between labels. Until the printer has measured your particular roll, it is guessing — and the symptoms are distinctive:
- Each label prints slightly lower than the last.
- A barcode is cut across the perforation between two labels.
- A blank label feeds between every printed one.
All three are the same fault. Calibrate: hold FEED until the status light blinks twice, then release. The printer pulls several labels through, measures, and stops in the right place.
Do this whenever the label size or stock type changes. Swapping one 4x6 roll for another of the same kind needs nothing.
Calibrating from the Mac, when the button will not do
If the printer is somewhere awkward, or the button routine will not take, the same calibration can be sent as a raw command. Save a plain text file containing:
~jc^xa^jus^xz
Then send it straight to the printer from Terminal:
lpr -P <PrinterName> -o raw zpl.txt
The printer name is the one shown in Printers & Scanners, with spaces replaced by underscores. -o raw is the important part: it tells CUPS to pass the bytes through untouched instead of trying to render them as a document.
When the label is the wrong size anyway
A calibrated Zebra printing a small label is not a printer problem. Two settings sit above it:
- Scale must be 100%. Fit-to-page in a browser or in Preview undoes everything else.
- Paper size must match the roll. A mismatch makes the printer scale to compensate.
If both are right and the label is still tiny, the file is a full page with the label on part of it — check with Cmd+I in Preview, and crop it with our free browser tool if it reads A4 or Letter.
ZD220, ZD421 and the rest
The setup above is the same across the desktop range. What differs is connectivity rather than printing:
- ZD220 — USB only. Simplest, and nothing to configure beyond adding the printer.
- ZD421 — available with Wi-Fi and Bluetooth. Add it over the network once joined, and expect the first print of a session to be slower than USB.
Wireless is worth it when the printer sits away from the desk. For a long batch, USB still finishes first.
Faded or unscannable output
Zebra exposes a darkness setting, and it matters more on dense carrier barcodes than on text. Too low gives soft-edged bars that look fine and scan badly; too high bleeds the bars into each other. Both have their own pages: faded output and barcodes that will not scan.
Frequently asked
Do I need to install a driver for a Zebra on macOS?
No. Zebra's recommended driver for macOS is CUPS, which macOS already ships with. Plug the printer in and add it in Printers & Scanners — there is nothing to download, which is the opposite of MUNBYN or Xprinter.
How do I calibrate a Zebra?
Hold the FEED button until the status light blinks twice, then release. The printer feeds a few labels while it measures the gap between them and stops at the correct position. It is a physical routine on the printer, not a setting on the Mac.
My labels drift further down the roll with each print.
That is media sensing rather than a print setting. The printer has not learned how long your labels are, so the position creeps. Calibrate it, and check that the paper size in the print dialog matches the roll.
What is ZPL and do I need it?
Zebra Programming Language — instructions sent straight to the printer, bypassing the driver. Useful at volume and for calibration commands, unnecessary for printing a label PDF. If your labels come out as pages of stray characters, you have sent ZPL through the normal print path by accident.
Skip the manual crop
LabelPrint measures where the label sits on the page and prints it at full size on your thermal printer. Free for 5 labels a day, no account.