Quick answer: Restart the Print Spooler, delete the stuck jobs in C:\Windows\System32\spool\PRINTERS, then power-cycle the printer last — not first.
Printers don't break the way people think they do. The hardware is fine most of the time. What actually fails is the software handshake between your machine and the device — a job gets half-sent, the spooler hangs on it, and every job after that queues up behind a ghost. You hit Print, nothing happens, the printer lights blink, and Windows throws something like "Printer is in an error state." I had a client last month whose entire print queue died because a single 40MB PDF got corrupted mid-transfer. Three people were stuck. Fixing the spooler took 90 seconds. Restarting the printer first, which is what they tried, did absolutely nothing.
Here's why this happens. The print spooler is a Windows service (or a daemon on Mac/Linux) that accepts print jobs, queues them, and feeds them to the driver. When a job fails partway — bad file, driver crash, USB hiccup, network drop — the spooler holds onto it. Some printers stop responding entirely when they get a malformed job. The queue backs up. Everyone downstream is stuck.
Fix 1: Clear the queue and restart the spooler (Windows)
Do this in order. Skipping steps causes the same problem to come back in five minutes.
- Cancel everything in the queue first. Open Settings > Bluetooth & devices > Printers & scanners, click your printer, then Open print queue. Cancel every job. If they won't cancel, go to step 2.
- Stop the Print Spooler service. Press Win+R, type
services.msc, find Print Spooler, right-click, Stop. Or from an admin command prompt:net stop spooler - Delete the stuck spool files. Open File Explorer and paste this path:
Delete every file inside. These are the half-baked jobs causing the error. You'll need admin rights. They're often hidden — turn on hidden files if you see nothing.C:\Windows\System32\spool\PRINTERS - Start the spooler again.
net start spooler - Now power-cycle the printer. Not before. Turn it off, wait 30 seconds, turn it on. Doing this last means the printer isn't holding onto stale connection state when the spooler comes back.
- Print a test page. Printer properties > Print Test Page. If it works, you're done.
Fix 2: If the queue is empty but printing still fails
This usually means the driver itself has gone sideways. Pull the printer completely and reinstall.
- Remove the printer in Printers & scanners.
- Open Print Management (
printmanagement.msc), go to All Printers, and delete the device there too. Drivers often hide in this second location and Windows reinstalls a broken one if you skip it. - Delete the driver from All Drivers in the same console.
- Reboot. Let Windows find the printer fresh, or install the latest driver from the manufacturer. For HP, use the full driver package, not the Windows Update one — the WU version drops features and breaks scanning on multifunction units.
Fix 3: Network printers showing offline
If the printer's on Ethernet or WiFi, check the basics before touching the driver:
- Ping it:
ping 192.168.1.50(use your printer's actual IP). If it doesn't respond, the printer dropped off the network — give it a static IP or DHCP reservation. Dynamic IPs are the #1 cause of "offline" printers. - Check whether you can reach the printer's web interface in a browser (
http://192.168.1.50). If the page loads but printing fails, it's a driver or port issue, not connectivity. - Confirm the port. Printer properties > Ports — make sure the checked port matches the printer's current IP. If it points to an old address, add a new Standard TCP/IP port with the right IP.
Fix 4: Mac and Linux
On macOS, open System Settings > Printers & Scanners, remove the printer, and re-add it. If jobs are stuck, reset the print system: right-click the printer list and choose Reset printing system.
On Linux, CUPS handles everything. Restart it and clear the queue:
sudo systemctl restart cups
cancel -a
lpstat -p -d
The cancel -a command wipes every pending job. lpstat shows printer status. If CUPS won't start, check /var/log/cups/error_log.
What to check if none of this works
- USB cable — swap it. Cheap cables fail more than people admit, especially the ones bundled with old printers.
- Wrong printer selected — sounds dumb, but 10% of "broken printer" tickets are someone printing to a paused USB printer while the network one sits unused.
- Firmware — some printers (looking at you, certain Brother models) need firmware updates to stop random error codes after a router change.
- Hardware faults — if the printer shows a persistent error on its own display (paper jam, toner error, drum error) even with no jobs queued, it's a physical issue. Check the manual for that code.
Printers are the only piece of office tech where the fix is almost never "buy a new one." It's almost always a stuck job, a stale IP, or a driver Windows decided to update on its own.
Prevention
Give every network printer a static IP or a DHCP reservation in your router. Dynamic addresses are the root cause of half the "printer offline" complaints I get. On Windows, set the spooler to restart automatically on failure: open services.msc, find Print Spooler, go to Recovery, and set First failure, Second failure, and Subsequent failures to Restart the Service. Takes 30 seconds, saves you a call the next time a bad PDF crashes the spooler.