Raspberry Pi Print Server: Turn Any Printer into a Network Printer
Sep 28th, 2025

Raspberry Pi Print Server
A Raspberry Pi Print Server is a great way to give an old USB printer a second life. Instead of throwing it away, you can turn it into a network printer with a Raspberry Pi.Have an old USB printer collecting dust? Instead of throwing it away, you can give it a second life by turning it into a network printer with a Raspberry Pi. This low-cost, low-power computer can run 24/7 as a print server, making it a perfect solution for home offices or small businesses.
A print server is a dedicated system that manages print requests from multiple devices and routes them to one or more printers. Traditionally, this role was filled by bulky hardware or a dedicated PC, but today a Raspberry Pi can perform the same task at a fraction of the cost.
Whether you're looking to build a budget-friendly printing solution for a small office or just want to share a printer at home, a Raspberry Pi print server offers flexibility, energy efficiency, and cross-platform compatibility, making it ideal for anyone who needs a Raspberry Pi network printer.(Windows, macOS, and Linux).
Typical scenarios include:
• Converting an old USB printer into a network printer.
• Sharing a single printer across laptops, desktops, or mobile devices.
• Centralizing printing in a small office or coworking environment.

Benefits of Running a Raspberry Pi Print Server
Centralized printer access: All users in the network can print through one device, eliminating the need to install the printer directly on each computer.
Extending the life of older printers: Even legacy USB printers can become network-accessible, avoiding unnecessary replacements.
Cross-platform compatibility: CUPS (Common Unix Printing System) ensures smooth integration with Windows, macOS, and Linux clients.
Prerequisites
Prerequisites — see SunFounder's Get Started with Raspberry Pi for detailed setup steps.
Hardware
• Raspberry Pi (any recent model with USB and network connectivity).
• microSD card with Raspberry Pi OS (Lite for headless or Desktop for GUI). You can follow SunFounder's Set up Your Raspberry Pi tutorial for guidance.
• Power supply.
• USB or network printer — for connection examples, see SunFounder's Raspberry Pi networking setup
How to Install CUPS on Raspberry Pi for a Print Server
What is CUPS?
CUPS (Common Unix Printing System) is an open-source printing framework widely used in Linux and Unix-like operating systems, and it plays a central role in setting up a CUPS Raspberry Pi print server. It acts as the middle layer between computers and printers, allowing users to send print jobs over a network or directly via USB. CUPS supports a variety of printing protocols, such as IPP (Internet Printing Protocol), and can manage both local and shared printers from a central service.
Key Benefits of CUPS
Cross-platform compatibility: Even though it was created for Unix systems, CUPS supports multiple platforms and allows Windows, macOS, and Linux devices to print through the same server.
Network printing: Printers connected to a CUPS server can be shared across the entire network, turning a single printer into a resource for many devices.
Driver flexibility: CUPS uses PPD (PostScript Printer Description) files to handle a wide range of printer models, making it possible to work with both modern and older devices.
Web-based management: It includes a simple browser interface that lets administrators configure printers, set permissions, and monitor print queues — see the CUPS project homepage for details.
Scalability: From a home setup with one printer to a small office with multiple devices, CUPS can handle centralized print management efficiently.
Install CUPS on Raspberry PI - Steps by Steps
1. Install CUPS: sudo apt install cups -y
2. Add the default pi user to the lpadmin group so it can manage printers in CUPS: sudo usermod -aG lpadmin pi
3. Allow remote access: sudo cupsctl --remote-any
4. Restart CUPS: sudo systemctl restart cups
5. Access the CUPS web interface at: http://<Raspberry_Pi_IP>:631 — or follow the SunFounder Raspberry Pi setup guide for step-by-step instructions.

Adding Printers
●For a Raspberry Pi USB printer, most models are detected automatically by CUPS. You may just need to select the right driver or upload a PPD file.USB Printers: Most are detected automatically by CUPS. You may need to select the appropriate driver or upload a PPD file.


●Network Printers: Add manually through the CUPS web interface using the printer’s IP address or hostname.
Share printer via Samba
A Raspberry Pi Samba print server lets you make the printer accessible across devices. Simply enable printer sharing in the CUPS settings.To make the printer accessible across devices, you can also explore SunFounder's Raspberry Pi networking documentation for more examples.
1.Enable printer sharing in the CUPS settings. Check “Share This Printer”

2.For Windows users, install and configure Samba: sudo apt install samba -y
3.Configure /etc/samba/smb.conf to include the printer share. Define access permissions and, if needed, set up authentication.
Editing the Samba Configuration
1.Open the Samba configuration file: sudo nano /etc/samba/smb.conf
2.At the bottom of the file, add a section for printer sharing:
[printers]
comment = All Printers
browseable = yes
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
Explanation of directives:
• Comment: Description shown to clients.
• Browseable: Makes the printer visible when browsing the network
• Path: Directory Samba uses for spooled print jobs.
• Printable: Marks this share as a printer, not a regular folder.
• guest ok: Defines whether anonymous access is allowed. Set no for security.
• read only: Ensures no file modifications in the spool directory.
• create mask: Restricts permissions for spool files.
Defining Access Permissions
1.If you want specific users to print, add them to the configuration: valid users = @printusers
2.Create the group and add users:
sudo groupadd printusers
sudo usermod -aG printusers pi
Setting up Authentication
1.Add Samba passwords for users who should have printing rights:
sudo smbpasswd -a pi
2.Restart Samba to apply changes:
sudo systemctl restart smbd
sudo systemctl restart nmbd
Connecting from Client Devices
• Windows:
o Open Printers & Scanners.
o Add a network printer using the Raspberry Pi IP (e.g., \\192.168.1.100\PrinterName

• macOS:
oGo to System Preferences → Printers & Scanners.
oAdd a printer using IP → Internet Printing Protocol (IPP) and enter the Raspberry Pi IP.
• Linux:
oUse the system's printer settings or lpadmin command to add the printer via IPP, completing the setup of your Raspberry Pi network printer.
Security and Maintenance
Security and Maintenance — see SunFounder's Raspberry Pi OS complete guide for additional best practices.
• Restrict access to certain users or IP ranges via the CUPS configuration file — and check this guide on UFW firewall on Linux to improve server security.
• Enable authentication in Samba for Windows clients.
• Back up CUPS configuration files in /etc/cups/.
• Monitor print jobs and errors through the CUPS web interface or log files in /var/log/cups/.
Troubleshooting
• Printer not found: Check USB connection (lsusb) or network reachability (ping)
• Driver issues: Ensure the correct PPD file is installed.
• Permission errors: Verify that the user belongs to the lpadmin group.
• Restarting services:
sudo systemctl restart cups
sudo systemctl restart smbd
• Logs:
o CUPS logs: /var/log/cups/error_log
o Samba logs: /var/log/samba/
Conclusion
Setting up a Raspberry Pi print server is an affordable and practical home office printer solution that extends the life of older printers and makes them accessible to every device in your home or office.By following the steps to install CUPS on Raspberry Pi, you gain a powerful, open-source printing system that supports USB and network printers alike. With Samba integration, you can share a printer via Raspberry Pi across Windows, macOS, and Linux systems, ensuring seamless cross-platform compatibility. Beyond saving money and energy, this setup centralizes printing tasks, improves convenience, and provides long-term flexibility. Whether you’re upgrading your home office or streamlining a small business, a Raspberry Pi print server is a reliable small business print server solution that combines low cost, low power, and high functionality.