Quick answer
Restart the Print Spooler service, delete stuck jobs in C:\Windows\System32\spool\PRINTERS, then remove and re-add the printer in Settings.
Why this happens
Windows 11 marks a printer as offline when it can't reach the device or when the print queue gets corrupted. The spooler service—the middleman between your apps and the printer—sometimes hangs after a failed job, and every subsequent job piles up in a queue that never drains. The OS then flips the status to offline to stop your apps from sending more data to a printer that isn't responding.
I've seen this on HP, Canon, and Brother models alike. It's not a driver problem in most cases. It's a state problem. The driver is fine; the spooler is stuck, or the queue has a ghost job that blocks everything behind it. That's why reinstalling drivers rarely helps—you're fixing the wrong layer.
What's actually happening here is that the spooler process (spoolsv.exe) holds a file handle to a corrupted print job. Until that job is cleared, the printer stays in an error state, and Windows won't even attempt to reconnect. The fix is to kill that state, not the driver.
The fix: step by step
- Stop the spooler. Open PowerShell as administrator and run:
Stop-Service -Name Spooler - Delete stuck jobs. Open File Explorer and go to
C:\Windows\System32\spool\PRINTERS. Delete every file in that folder. These are the queued print jobs. If you can't see any files, that's fine—go to the next step anyway. - Restart the spooler. Back in PowerShell, run:
Start-Service -Name Spooler - Remove the printer. Go to Settings > Bluetooth & devices > Printers & scanners, click your printer, and choose Remove.
- Re-add the printer. Click Add device, wait for Windows to detect it, and select it. If it doesn't show up, choose The printer that I want isn't listed and add it by name or IP.
This sequence works because you're forcing the spooler to release the corrupted job, then resetting the printer's state in Windows. Re-adding the printer forces a fresh connection handshake, which clears the offline flag.
If that doesn't work
Sometimes the spooler isn't the culprit. Try these in order.
Check the physical connection
USB printers: unplug the cable, wait 10 seconds, plug it back in. Network printers: check the printer's IP address hasn't changed. A DHCP reservation or a static IP prevents this. If the IP changed, Windows is still talking to the old address—that alone causes an offline state.
Verify the printer's own settings
Most printers have a "Use Printer Offline" checkbox in Windows that gets set automatically. Right-click the printer in Settings, choose Printer properties, then check the Ports tab. Make sure the correct port is selected (e.g., IP_192.168.1.50 for network). Also check the printer's front panel—some models have a "Wireless" or "Network" button that toggles the connection off.
Update the driver—but only if the above fails
Go to the manufacturer's site, download the latest driver for your exact model and Windows 11, and install it. But note: if the spooler restart didn't fix the offline status, a driver update usually won't either. I've seen people waste an hour on driver updates when the real issue was a stale IP.
Prevention
The offline status almost always comes back if you don't address the root cause. For network printers, assign a static IP in your router's DHCP reservation settings. That way the printer's address never changes, and Windows won't lose track of it.
Also, set the printer to be the default and disable Windows' power-saving that might sleep the printer. Go to Control Panel > Hardware and Sound > Power Options > Change plan settings > Change advanced power settings, then expand USB settings and set USB selective suspend to Disabled. This stops Windows from cutting power to a USB printer, which triggers the offline state.
One more thing: if you print from a laptop that sleeps frequently, wake it before sending a job. The spooler can hang if it resumes mid-print and the printer's already gone to sleep.