Had a client last month — small law office, three lawyers, one HP LaserJet Pro M404dn shared over the network. Monday morning, all three of them staring at "Printer Offline" on their screens. Nobody touched anything over the weekend. That's the thing about this error: it shows up when nothing's changed, which is why people waste an hour rebooting everything.
Here's the order I work in. Ninety percent of the time, one of these three fixes it.
1. The print spooler is jammed or hung
This is the number one cause. The Windows Print Spooler service is the middleman between your app and your printer. When it chokes on a corrupt job — usually a PDF or a giant image — it stops responding, and Windows gives up and slaps "Offline" on every printer you've got. Not just one. Every printer in the list.
That's your tell. If all your printers went offline at once, it's the spooler. If only one is offline, jump to cause #2.
Fix: restart the spooler and nuke the queue
Open an elevated Command Prompt (right-click Start, Terminal as Admin on Win11, or just search cmd and Run as Administrator). Then:
net stop spooler
del /Q /F %systemroot%\System32\spool\PRINTERS\*
net start spooler
That middle line deletes every queued print job. Yes, you'll lose whatever's stuck in there. It's already garbage, trust me. What trips people up: if the spooler won't stop, you've got a hung process holding it. Open Task Manager, find spoolsv.exe, kill it, then run net start spooler.
Restart the spooler and check the printer list. If everything's back, done. If the same job that killed it goes right back into the queue, the source document is corrupt — reprint from the original app, or print to PDF first, then print that PDF.
Skip the "troubleshoot printer" wizard Windows offers. It'll spend five minutes doing exactly what you just did in 20 seconds, and then suggest rebooting.
2. The printer's network address changed or dropped
Wireless printers and DHCP are a bad combination. Router lease expires, printer grabs a new IP, and every PC on the network is still pointing at the old one. This is why your printer worked fine last Friday and is a brick on Monday. I see it constantly with cheap consumer routers that hand out leases in the 24-hour range.
Your tell here: only the network printers are offline. USB printers still work. Or you can ping the printer on its old IP and get nothing, but the printer's own display shows a completely different address.
Fix: update the port, then lock the IP
Find the printer's current IP first. Most printers will print a config page from the control panel — check the network settings menu. Once you've got it:
- Open Settings → Bluetooth & devices → Printers & scanners (or Control Panel → Devices and Printers on older builds)
- Click the printer, then Printer properties
- Go to the Ports tab
- Find the port with the old IP in the name — usually
Standard TCP/IP Portwith a 192.168.x.x address - Click Configure Port and update the IP to the new one
The real fix is logging into the printer's web interface and setting a static IP outside your DHCP range. For a typical home router handing out 192.168.1.100–199, assign the printer 192.168.1.50. Never move again.
For USB printers showing offline, this isn't your problem — skip to #3.
3. "Use Printer Offline" got toggled on
Yes, it's a stupid setting. Yes, it gets flipped accidentally. It's usually one of two ways: either someone right-clicked the printer and hit "Use Printer Offline" trying to cancel a stuck job, or Windows itself flipped it after too many failed connections. Once it's on, the printer stays offline even after you fix the underlying problem.
Tell: the printer icon has a small grey check or padlock overlay, and the menu still shows "Use Printer Offline" as an active option (not greyed out).
Fix: uncheck the box and clear the queue
- Open Control Panel → Devices and Printers (Win11 users: run
control printersfrom the Run box) - Right-click the offending printer
- If Use Printer Offline has a checkmark next to it, click it to clear
- Right-click again → See what's printing
- Cancel every job in the queue
- Try a test page
If the setting won't stick — you uncheck it and it re-checks itself within a minute — the driver's corrupted. Uninstall the printer completely from Settings, and remove the driver package from Print Management (printmanagement.msc → Drivers), then reinstall using the manufacturer's driver, not the Windows generic one. The Windows inbox driver for older HP and Brother units is genuinely bad. Grab the real one from the vendor site.
One more tip while you're in there: change the port to WSD is a mistake people make because Windows suggests it. WSD is flaky as hell on multi-subnet networks. Stick with Standard TCP/IP. If you're stuck with WSD for some reason, at minimum disable the Function Discovery Provider Host and Function Discovery Resource Publication services from auto-starting — they cause needless network chatter.
Quick reference
| Symptom | Likely cause | Fix |
|---|---|---|
| Every printer offline at once | Spooler hung on a bad job | net stop spooler, clear PRINTERS folder, net start spooler |
| Only network printers offline; USB fine | Printer's IP changed via DHCP | Update port IP, then assign static IP on printer |
| One printer offline, worked yesterday | "Use Printer Offline" toggled on | Uncheck it, clear queue, test page |
| Setting won't stay unchecked | Corrupt driver package | Remove via printmanagement.msc, reinstall vendor driver |
| Intermittent offline every few hours | WSD port or bad power save | Switch to Standard TCP/IP port, disable printer sleep mode |
Work top to bottom and you'll clear 95% of offline printer calls in under ten minutes. If it's still broken after all three, the printer's NIC is probably dying — plug it in via USB and see if it comes back. If USB works, the network board is toast, and on most consumer printers that's a replacement, not a repair.