Repolode
OpenPrinting

OpenPrinting/cups

Open source printing system for Linux and Unix, supporting AirPrint, IPP Everywhere and legacy PPD printers.

Stars
1,792
Forks
355
Open issues
37
Last commit
2 days ago

What is it?

OpenPrinting CUPS is the current version of CUPS, the standards-based printing system used on Linux and other Unix-like operating systems. It runs as a service that accepts print jobs, queues them, converts documents into a format the printer understands, and sends them to local or network devices.

It prints to AirPrint and IPP Everywhere printers over the network, and to network or USB printers through Printer Applications or legacy PPD-based drivers. Sample PPDs cover Dymo label printers, EPSON 9-pin and 24-pin series, HP DeskJet and LaserJet families, OKIDATA series, Zebra CPCL/EPL1/EPL2/ZPL label printers, and generic PCL and PostScript devices.

Administration works from the command line with lpadmin and lpinfo, or through a web interface at http://localhost:631/. Printing uses the System V lp and Berkeley lpr commands, and the project also exposes a C API along with filters, drivers and backends; the separate cups-filters project provides additional ones.

Key features

  • 01Accepts, queues and spools print jobs as a system service on Linux and Unix-like systems.
  • 02Prints to AirPrint and IPP Everywhere printers without vendor drivers.
  • 03Supports network and USB printers via Printer Applications or legacy PPD drivers.
  • 04Offers System V lp and Berkeley lpr commands plus a C API and a web admin interface on port 631.
  • 05Prints PDF, PostScript, text and many image formats directly without an application.
  • 06Ships sample PPDs for Dymo, EPSON, HP, OKIDATA, Zebra and generic PCL/PostScript printers.

Use cases

  • Set up a shared print server for an office or home network on a Linux machine.
  • Add a driverless IPP or AirPrint printer with a single lpadmin command.
  • Keep older USB or PPD-based printers working on modern distributions.
  • Integrate printing into an application through the CUPS C API.

Things to know

  • This is a beta prerelease (v2.5b1) tracking a future feature release, so it may change.
  • It targets Linux and other Unix-like systems, so it is not for Windows.
  • The README does not include installation steps; it refers to INSTALL.md for building.

In collections

Topics

#printing#ipp#airprint#printer-driver#linux#unix#cli#print-server#bsd

FAQ

What is cups?
Open source printing system for Linux and Unix, supporting AirPrint, IPP Everywhere and legacy PPD printers. OpenPrinting CUPS is the current version of CUPS, the standards-based printing system used on Linux and other Unix-like operating systems. It runs as a service that accepts print jobs, queues them, converts documents into a format the printer understands, and sends them to local or network devices.
Is cups free to use? What license does it have?
cups is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is cups still maintained?
Actively maintained. The last commit to cups was on Nov 5, 2026.
What can I use cups for?
Set up a shared print server for an office or home network on a Linux machine. Add a driverless IPP or AirPrint printer with a single lpadmin command. Keep older USB or PPD-based printers working on modern distributions. Integrate printing into an application through the CUPS C API.
Where can I get cups?
The source code and installation instructions are on GitHub: https://github.com/OpenPrinting/cups

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects