Fix a stuck print spooler queue in Windows 10/11
Your printer shows 'spooling' but nothing prints. Usually a corrupted spooler file. I'll show you the exact fix that works 90% of the time.
1. Corrupted spool file (the real culprit 8 out of 10 times)
What's actually happening here is the print spooler service (spoolsv.exe) wrote a job file that got corrupted mid-write — maybe you yanked the USB cable, the printer lost power, or the app crashed while printing. Windows then holds that bad file in a queue loop, and every new print job just adds to the pile. Nothing moves because the first broken file blocks the whole thing.
The fix is manual, but it's the only way that cuts through the nonsense. Here's the exact sequence:
- Open Services (press Win+R, type
services.msc, hit Enter). - Find Print Spooler in the list. Right-click it and Stop. Do not close the Services window yet.
- Open File Explorer and go to
C:\Windows\System32\spool\PRINTERS. Delete everything inside that folder. If Windows says a file is in use, you didn't stop the service correctly — go back and check step 2. - Go back to Services, right-click Print Spooler again, and Start it.
- Try printing something small — a single-page notepad test. If it prints, you're done.
The reason step 3 works is the spooler service reads every .SHD and .SPL file in that folder when it starts. A corrupted file makes it choke. Emptying the folder forces a clean start. I've seen this fix work on HP LaserJet, Brother HL, Canon MF — doesn't matter the brand.
If the spooler service won't stop (you get an error like "access denied" or "service not responding"), skip to the advanced section below. But first try rebooting into Safe Mode with Networking — then repeat the steps. 95% of the time that's enough.
2. Stuck print job with "Deleting" status (second most common)
Sometimes you see the job stuck in the queue with the word "Deleting" next to it, and you can't remove it through the normal "Cancel All Documents" button. What's actually happening here is the printer driver sent a cancel command but the spooler already locked the file. The job sits in limbo — not printing, not deleting.
The quickest fix without touching the spooler folder:
- Open the Printers & scanners settings (Start → Settings → Bluetooth & devices → Printers & scanners).
- Click your printer, then Open print queue.
- Right-click the stuck job → Cancel. If it disappears, great. If it stays, move to next step.
- Close the queue window. Open Command Prompt as Administrator (right-click Start → Windows Terminal (Admin)).
- Type
net stop spoolerand press Enter. Thendel /Q /F /S "%systemroot%\System32\spool\PRINTERS\*.*"— this force-deletes everything in the folder. - Then
net start spoolerto restart the service.
I've seen cases where the job was technically already deleted but the queue GUI didn't refresh. The command-line force delete bypasses that visual bug. You don't need any third-party tools for this.
3. Driver corruption from a failed update (less common, but nasty)
Third scenario: you clear the spooler folder, restart the service, send a test page, and it still hangs. What's actually happening here is the printer driver itself is corrupted — often after a Windows Update pushed a generic driver over your manufacturer's specific one. I've seen this with Brother printers after KB5027231 on Windows 11 22H2.
Here's how to check and fix it:
- Open Device Manager (right-click Start → Device Manager).
- Expand Print queues. Right-click your printer → Properties → Driver tab.
- Look at the driver date and version. If it says "Microsoft" as the provider and the date is within the last 30 days, that's the sign of a pushed generic driver.
- Click Update Driver → Browse my computer for drivers → Let me pick from a list. Choose the manufacturer's driver from the list (e.g., "Brother MFC-J5945DW"). If you don't see it, download the correct driver from the manufacturer's site and install it.
- Restart the spooler service again (net stop spooler, then net start spooler).
The reason this works is Windows sometimes overwrites a working driver with a generic one that doesn't understand the printer's page description language (PCL or PostScript). The job spools but the printer never gets a command it can execute. Switching back to the manufacturer's driver fixes that mismatch.
Quick-reference summary table
| Symptom | Most likely cause | Fix | Takes |
|---|---|---|---|
| Job stuck in queue, 'Spooling' status | Corrupted .SPL/.SHD file | Stop spooler, delete folder contents, restart | 2 minutes |
| Job says 'Deleting' and won't go away | Locked file in queue | Force delete via command line | 3 minutes |
| Queue clears but nothing prints | Generic driver overwritten | Revert to manufacturer's driver | 5 minutes |
One more thing: if you're on a network printer (not USB), check that the printer's IP hasn't changed. A job spools fine but the spooler can't find the device — that's a different problem, not covered here. For that, use your router's DHCP reservation or set a static IP on the printer.
Was this solution helpful?