Why the Print Spooler Freezes
The Print Spooler (spoolsv.exe) is the Windows service that manages every print job on the system — queuing documents, feeding them to the printer driver, and tracking status. It's also one of the most failure-prone services in Windows, because a single corrupted job file, a flaky driver, or a printer that drops off the network mid-job can wedge the entire queue. When that happens, every subsequent print job you send just sits there, the printer icon in the system tray shows a permanent "printing" state, and sometimes you can't even open the Devices and Printers window without it hanging. Restarting the spooler service and clearing its job cache resolves the vast majority of these stuck-queue situations without needing a full reboot.
Method 1: Restart via Command Prompt (Fastest)
- Press Win, type
cmd, right-click Command Prompt, and choose Run as administrator. - Stop the spooler service:
net stop spooler
- Clear the stuck job files (these persist on disk even after the service stops, and a corrupted one is often the actual root cause):
del /Q /F "%systemroot%\System32\spool\PRINTERS\*.*"
- Restart the service:
net start spooler
Your print queue should now be empty and ready for a fresh job. Try printing a test page to confirm.
net stop spooler && del /Q /F "%systemroot%\System32\spool\PRINTERS\*.*" && net start spooler
Method 2: Restart via PowerShell
Stop-Service -Name Spooler -Force
Remove-Item -Path "$env:systemroot\System32\spool\PRINTERS\*" -Force
Start-Service -Name Spooler
Stop-Service -Force also stops any services that depend on the spooler, which occasionally include third-party printer-management or fax software, so expect those to restart alongside it automatically once the spooler is back up (Windows restarts dependent services that were running before the stop, in most configurations).
Method 3: Restart via the Services GUI
- Press Win + R, type
services.msc, and press Enter. - Scroll down to Print Spooler in the list.
- Right-click it and choose Restart. If "Restart" is grayed out because the service is already stopped, right-click and choose Start instead.
This method doesn't clear the stuck job files in the spool folder, so if the same document keeps reappearing after a GUI restart, go delete the files manually first: open File Explorer, navigate to C:\Windows\System32\spool\PRINTERS, and delete everything inside (this folder is normally hidden from casual browsing but accessible by typing the path directly into the address bar).
Automating a Permanent Fix Icon
If this happens often enough to be annoying, save the one-liner from Method 1 as a .bat file you can double-click whenever the queue jams:
@echo off
echo Restarting Print Spooler...
net stop spooler
del /Q /F "%systemroot%\System32\spool\PRINTERS\*.*"
net start spooler
echo Done.
pause
Right-click the saved .bat file and choose Run as administrator each time (or set it to always run elevated via Properties > Compatibility > Run this program as an administrator) since stopping and starting a Windows service always requires admin rights.
When Restarting the Spooler Doesn't Fix It
- Corrupted driver: If the queue jams repeatedly with the same printer, the driver itself may be the problem. Remove the printer entirely from Settings > Bluetooth & devices > Printers & scanners, then use Print Management (
printmanagement.msc) to delete the driver package before reinstalling it fresh. - Spooler crashing repeatedly: Check Event Viewer > Windows Logs > System for recurring Print Spooler crash events (Event ID 7031/7034), which usually points to a specific misbehaving driver named in the event details.
- Network printer offline: If jobs queue but never print and the printer is network-attached, confirm the printer itself is online and reachable (ping its IP) before assuming the spooler is at fault.
Discussion & Insights