Quick fix: Stop the Print Spooler service (net stop spooler), delete the matching .SHD and .SPL files from C:\Windows\System32\spool\PRINTERS, then start the spooler again — this removes a single stuck job without dropping every other queued print.
One specific print job is stuck on “Deleting” or “Printing” and won’t budge — but you don’t want to clear the entire queue because other valid jobs are waiting. The trick is to identify the single job’s files on disk and remove only those, leaving the rest of the queue intact.
Affects: Windows 11 (and Windows 10) print spooler with one corrupted job.
Fix time: ~3 minutes.
What causes this
Each print job creates two files in the spool folder: <jobid>.SHD (metadata: owner, document name, settings) and <jobid>.SPL (the spooled print data). The jobid is a hex number, e.g., 00012.SHD for job 18. If the .SHD or .SPL is corrupted — incomplete write after a power loss, antivirus quarantine, abrupt service termination — the spooler can’t complete or delete the job, and it stays in the queue indefinitely.
Deleting only that job’s pair of files (rather than every file in the folder) preserves other queued jobs.
Method 1: Identify and delete a single stuck job
The surgical approach. Use when you have multiple printers and want to keep other queues running.
- Open the print queue: Settings → Bluetooth & devices → Printers & scanners → (your printer) → Open print queue.
- Note the stuck job’s Document Name.
- Open Terminal (Admin) and stop the spooler:
net stop spooler - Open File Explorer. Navigate to
C:\Windows\System32\spool\PRINTERS. - The folder contains .SHD and .SPL pairs. Right-click any .SHD → Properties → Details → check the Title field to identify which job it’s for.
- Delete the .SHD and .SPL pair for the stuck job only. Leave other files untouched.
- Start the spooler:
net start spooler - Reopen the queue. The stuck job is gone; other queued jobs resume printing.
This is the cleanest fix when only one job is broken.
Method 2: Use PowerShell to delete by job ID
Faster than File Explorer when you know the job ID.
- Open Terminal (Admin).
- List all jobs across all printers:
Get-PrintJob -PrinterName *The output includes Id, PrinterName, DocumentName, JobStatus.
- Identify the stuck job by ID and printer name.
- Remove just that one:
Remove-PrintJob -PrinterName "HP LaserJet" -ID 12 - If
Remove-PrintJobfails with “Access Denied”, the job’s files are locked at the filesystem level — fall back to Method 1 (stop the spooler, delete files, restart spooler). - Verify the job is gone:
Get-PrintJob -PrinterName "HP LaserJet"
Scriptable for IT runbooks and faster than the GUI route.
Method 3: Restart only the printer’s queue (when spooler restart is undesirable)
Use this on multi-user PCs or servers where stopping the global spooler would interrupt other users.
- Open Terminal (Admin).
- Pause and resume the printer’s queue:
Suspend-PrintJob -PrinterName "HP LaserJet" -ID 12 Remove-PrintJob -PrinterName "HP LaserJet" -ID 12 - If Remove still fails, suspend the printer itself temporarily:
Set-PrintConfiguration -PrinterName "HP LaserJet" -ResetToDefaults Suspend-PrintJob -PrinterName "HP LaserJet" -ID 12 - Open the printer queue from Settings, manually right-click the stuck job → Cancel. With the queue paused, the cancel should complete.
- Resume the queue: right-click the printer → Resume printing, or PowerShell
Resume-PrintJobon the remaining jobs.
This avoids the global Print Spooler restart, important on shared print servers.
How to verify the fix worked
- Open the print queue. The previously-stuck job is gone.
- Run
Get-PrintJob -PrinterName "HP LaserJet"in PowerShell. Should not list the removed job ID. - The next queued job (if any) begins printing automatically.
- File Explorer at
C:\Windows\System32\spool\PRINTERSno longer contains the .SHD/.SPL pair for the stuck job.
If none of these work
If the same job reappears after deletion, the source app may be auto-resubmitting it (a Word add-in stuck in retry mode, an email client’s “print attachment” loop). Identify and close the source app. If the .SHD/.SPL files refuse to delete even with the spooler stopped, an antivirus has quarantined them — check your AV’s quarantine, restore or permanently delete from there. For chronic single-job stuck patterns on the same printer, the print driver is the issue — uninstall the printer, restart the spooler, reinstall with a fresh OEM driver or a manufacturer’s universal print driver (UPD). Persistent issues across multiple drivers usually indicate a printer firmware bug; check the manufacturer’s firmware update page for your model.
Bottom line: Deleting one stuck print job doesn’t require nuking the whole queue — identify the .SHD/.SPL pair and remove only those files while the spooler is briefly stopped.