Guides

How to build a Raspberry Pi print server

Build a Raspberry Pi print server with CUPS, share an inkjet and a label printer on your network, and print from Windows, Mac and iPhone.

By Ryan Soanes · 1 November 2026

A Raspberry Pi print server shares your printers over your home network, so any computer, phone or tablet can print to them without a cable. It runs CUPS, the free print system Linux uses. This guide sets one up for an inkjet and a label printer.

What do you need?

  • A Raspberry Pi 4 or 5. A Pi 3B+ is enough if the Pi only shares printers.
  • A microSD card of 16 GB or more.
  • A good USB-C power supply. Raspberry Pi recommends its 27W supply for a Pi 5 and its 15W supply for a Pi 4.
  • A network cable, if you can. Wi-Fi works, but a cable is more reliable.
  • Printers that work on Linux. Check this before you start (see below).

Will your printer work?

  • Many recent printers work without a driver. CUPS calls this “driverless” or IPP Everywhere printing.
  • Epson inkjets usually work with the printer-driver-escpr package, and HP printers with the hplip package.
  • Label printers vary the most. See label printers below.

Which version of Raspberry Pi OS should you use?

Use 64-bit Raspberry Pi OS, installed with Raspberry Pi Imager.

  • Lite (no desktop) is enough if the Pi only shares printers.
  • With desktop if you might run MagLab on the Pi too, as it needs the desktop.

In Imager’s settings, set the hostname to printserver, set a username and password, add your Wi-Fi if you’re not using a cable, and turn on SSH. You can then reach the Pi from another computer at printserver.local.

How do you install CUPS?

Connect to the Pi (with ssh printserver.local, or open a terminal on its desktop) and run:

sudo apt update && sudo apt full-upgrade -y
sudo apt install cups -y
sudo usermod -aG lpadmin $USER
sudo cupsctl --remote-admin --share-printers
sudo systemctl restart cups

These commands install CUPS, let your user add printers, and share the printers on your network. Log out and back in (or restart the Pi) so the new permission takes effect.

If your printers need a driver package, install it now, for example sudo apt install printer-driver-escpr for an Epson inkjet.

How do you add your printers?

  1. Plug the printers into the Pi by USB and turn them on.
  2. Open CUPS in a browser on another computer: https://printserver.local:631. Your browser may warn about the certificate. That’s normal for this local page.
  3. Go to Administration → Add Printer, and sign in with your Pi username and password.
  4. Pick the printer from the list.
  5. Give it a short name with no spaces, such as inkjet or labels, and tick Share This Printer.
  6. Choose the driver: the printer’s own model if it’s listed, or “IPP Everywhere” or “driverless” if offered.
  7. Set the default options, especially the paper size: A4 or US Letter for the inkjet, and your label size (such as 4 × 6”) for the label printer.
  8. Print a test page from the printer’s Maintenance menu.

To make one printer the default, open it and choose Administration → Set As Server Default.

How do you set up a label printer?

Thermal label printers are the trickiest part, because many makers only offer drivers for Windows and Mac.

  • Zebra printers: many work with the Zebra ZPL or EPL drivers built into CUPS.
  • DYMO LabelWriter printers up to the 450 series work with the printer-driver-dymo package. It doesn’t support the newer 550 series.
  • Other thermal printers: check whether the maker offers a Linux driver for ARM (64-bit), the kind of processor the Pi uses.

If there’s no driver for the Pi, add the printer in CUPS as a Raw queue, then install the printer’s own driver on each Windows or Mac computer. The computer prepares the label and the Pi passes it straight to the printer. Phones and tablets can’t print to a raw queue.

How do you print to the Pi from Windows?

  1. Go to Settings → Bluetooth & devices → Printers & scanners and click Add device.
  2. When Add manually appears, click it.
  3. Choose Select a shared printer by name and enter the printer’s address, such as http://printserver.local:631/printers/inkjet.
  4. Pick the printer’s driver, or Microsoft IPP Class Driver if the Pi’s queue is driverless.
  5. Print a test page.

If Windows can’t find printserver.local, use the Pi’s IP address instead, such as http://192.168.1.50:631/printers/inkjet.

How do you print from a Mac, iPhone or iPad?

Shared CUPS printers usually appear on their own:

  • Mac: go to System Settings → Printers & Scanners → Add Printer. The Pi’s printers are in the list.
  • iPhone and iPad: the printers appear as AirPrint printers when you tap Print.

If they don’t appear, check the device is on the same network as the Pi, and that Share This Printer is ticked for each printer in CUPS.

Why won’t a print job come out?

  • The printer is stopped. Open it in CUPS and choose Resume Printer. A printer that runs out of paper or loses its USB connection can stop the queue.
  • Labels come out blank. The queue’s paper size is probably wrong, such as A4 instead of your label size. Set your label size as the default.
  • Pages of strange text. The driver is wrong. Delete the printer and add it again with the right driver.
  • Clients can’t find the Pi. Use its IP address, and set your router to always give the Pi the same address.

To see what went wrong, read the CUPS log on the Pi:

sudo tail -f /var/log/cups/error_log

Can the Pi print your shop orders automatically?

CUPS passes print jobs to printers. It doesn’t lay out sheets or know about orders. MagLab Pro can do that on the same Pi: it picks up each new Shopify order, order from your own website, file in a hot folder or job sent to its local API, fills the sheet and prints it. One order can use both printers, for example the stickers on the inkjet and the address label on the label printer. For Etsy, save Etsy’s order spreadsheet (CSV) into a hot folder, and it prints one label per order.

MagLab needs a Raspberry Pi 5 with 4–8 GB of memory (a Pi 4 with 4 GB works, but more slowly) and 64-bit Raspberry Pi OS with desktop. The desktop must be running, even with no screen attached. The user guide covers the setup.

Can you connect a Cricut or Silhouette to the Pi?

No. Cricut Design Space and Silhouette Studio don’t run on a Raspberry Pi. Keep the cutter connected to your computer, and print the sheet to the Pi’s printer from there.

Can a Pi stay on all the time?

Yes. A Pi uses a few watts while it waits for print jobs, much less than a laptop left on. If it gets hot, it slows itself down rather than overheating. The official Pi 5 case, which has a fan, or the Active Cooler keeps it running at full speed.

More guides

Free printable templates

Try it on your next sheet

Free for 7 days with everything included. No card, no account.

Download the free trial Send the link to my computerSee prices