Where apps hide your files
A printer driver on a Mac is not one file. It is a vendor folder, a PPD, some CUPS filters and sometimes a background helper, spread over four or five locations.
/Library/Printers/
/Library/Printers/PPDs/Contents/Resources/
/etc/cups/ppd/
/usr/libexec/cups/backend/
/usr/libexec/cups/filter/
| Path | What it holds |
|---|---|
/Library/Printers/ | Vendor driver folders, plus Apple's Icons, PPDs and InstalledPrinters.plist |
/Library/Printers/PPDs/Contents/Resources/ | PPD files (printer description files) installed by driver packages |
/etc/cups/ppd/ | One PPD for each printer you have added, including driverless ones |
/usr/libexec/cups/backend/ | Connection backends: Apple's (ipp, ipps, usb, lpd, dnssd, socket and others) plus any a vendor adds |
/usr/libexec/cups/filter/ | Filters that turn print jobs into what the printer understands, Apple's and vendors' |
Press ⇧⌘G in Finder and paste any of these. /etc is a link to /private/etc, so Finder may show /private/etc/cups/ppd. These folders are owned by root, so you can read names freely but need an administrator password to change anything.
On the Mac checked for this post (macOS Sequoia 15.6), /Library/Printers holds only Icons, PPDs and InstalledPrinters.plist, and the PPDs folder is empty. Its four printers still each have a PPD in /etc/cups/ppd, because macOS creates one for every printer it sets up. None needed a vendor installer: three use AirPrint and one uses a generic Epson driver that ships with macOS. That is the usual picture now: Apple says you don't need to download or install printer software to use AirPrint printers.
Older or specialised printers (many lasers, label printers and large-format models) still come with a driver package. Typically it creates a folder named after the maker inside /Library/Printers, such as /Library/Printers/Canon or /Library/Printers/EPSON. Canon's own uninstall guide shows how far a package can spread: besides its folder in /Library/Printers, it lists a PPD in /Library/Printers/PPDs/Contents/Resources/, two backend files in /usr/libexec/cups/backend/ and an agent in /Library/LaunchAgents/. Other installers add an app in /Applications, scanner software in /Library/Image Capture/, or a daemon such as the jp.co.canon.MasterInstaller.plist found in /Library/LaunchDaemons on this Mac. Contents vary by vendor and version, so treat this as a map of where to look, not a checklist.
/etc/cups/ppd at the same time./Applications for a folder named after the maker. If it contains an uninstaller, run it: that is the cleanest route./Library/Printers to the Trash. Epson's own instructions do exactly this for the EPSON folder and warn that it removes all installed Epson printer drivers, so skip this step if you still use another printer from the same maker./Library/Printers/PPDs/Contents/Resources, /Library/LaunchAgents, /Library/LaunchDaemons and /usr/libexec/cups/backend for files carrying the vendor's name. Remove one only when the vendor's guide or the pkgutil check below lists it, then restart.Leave /Library/Printers/PPDs, Icons and InstalledPrinters.plist in place, along with every backend and filter you cannot tie to a vendor package: the ones named ipp, usb and so on are Apple's. Nothing under /System/Library should be touched either.
Installers leave receipts you can list without changing anything:
pkgutil --pkgs | grep -i canon
pkgutil --files PACKAGE_ID | head -50
Replace canon with the maker's name, and PACKAGE_ID with an ID the first command printed. pkgutil --files lists the paths that package installed, relative to the disk it went on, which is the most reliable inventory of what to remove. Both commands only read the receipt database.
Rarely. /Library/Printers here is 560 KB. Big vendor suites take more, mostly in bundled apps and scanning software, but people remove drivers for other reasons: a clean reinstall after print failures, a vendor driver that conflicts with an update, or a printer they no longer own. If printing breaks after a macOS update, remove the printer and its vendor software, restart and add it again. macOS uses AirPrint when the printer supports it, and Apple notes it may prompt you to download new software when a printer needs it.
CUPS, the printing system, keeps the queue list in /etc/cups/printers.conf and spooled jobs under /private/var/spool/cups. Both are closed to normal users, and printers.conf holds printer addresses, so do not paste it anywhere public. Clear a stuck job from the printer's queue window, not by deleting spool files.
The last resort is Apple's reset: in Printers & Scanners, Control-click the printer list (or the empty list) and choose Reset Printing System. Apple says this deletes all printers, the record of completed jobs and all printer presets, so you add every printer again afterwards.
Note the model name from Printers & Scanners and the driver version from the vendor's installer or the pkgutil --pkg-info PACKAGE_ID output. That lets you reinstall the same version if a newer one behaves worse. Selecting a printer in Printers & Scanners also shows its Kind. It usually comes from the printer's PPD, and on the Mac checked the driverless printers' PPDs were named like CNMF240 Series-AirPrint, so a name ending in AirPrint means no vendor driver is involved.
If a removed printer reappears, macOS has probably found it again on the network, or a leftover vendor helper keeps adding it back. Remove the helper first (step 4 above), then the printer.
Spotlight shows nothing from /private/etc, and it tucks /Library/Printers away as system files, so a search for your model rarely finds its driver. In Everywhere, typing the model number or the maker, such as L3150 or canon, lists every PPD, driver folder, backend and launch plist with that name, wherever they sit. ⌘↵ reveals the one you pick in Finder. It searches names, not the text inside a PPD, so search for the model as it appears in file names.
Vendor drivers go in /Library/Printers/<Vendor>/, with PPD files in /Library/Printers/PPDs/Contents/Resources. Each printer you add also gets a PPD in /etc/cups/ppd, and some vendors add backends to /usr/libexec/cups/backend.
Remove the printer in System Settings > Printers & Scanners with Remove Printer, run the vendor's uninstaller if there is one, and otherwise trash the vendor's folder in /Library/Printers and any leftovers its guide lists.
Not for AirPrint printers: Apple says you don't need to download or install printer software for them. Older or specialised models may still need the maker's package.
That is normal when your printers use AirPrint. macOS keeps the PPD it generates for each one in /etc/cups/ppd instead of installing a vendor driver.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Version 2.20.3 · macOS 13+ · 4.7 MB · notarised