How to Clear the Print Queue

Open the print queue and cancel every job. If a job won’t cancel, restart the print spooler; if it still won’t go, stop the spooler, delete the waiting files and start it again. The commands below do each step in one paste on Windows, Mac or Linux.

By Printer Test Page LabLast updated

Clear the queue with commands

Faster than clicking through settings, and it works when the queue window freezes. Type the printer’s name once and every command below updates. Nothing you type leaves this page.

Exactly as it appears in your printer list. Leave it empty to keep the placeholder.

Windows (PowerShell)

Right-click Start and choose Terminal (Admin). Paste one block at a time. Steps 1 to 3 also work in a normal window.

1. List your printers, to copy the exact name

Get-Printer

2. See the jobs waiting for this printer

Get-PrintJob -PrinterName "PRINTER NAME"

3. Cancel every job for this printer

Get-PrintJob lists the jobs and passes each one to Remove-PrintJob.

Get-PrintJob -PrinterName "PRINTER NAME" | Remove-PrintJob

4. Restart the print spooler

Needs the Admin window. Services can only be restarted by administrators.

Restart-Service -Name Spooler -Force

5. Still stuck: stop the spooler, empty its folder, start it again

This deletes every waiting job for every printer on this computer.

Stop-Service -Name Spooler -Force
Remove-Item -Path "$env:windir\System32\spool\PRINTERS\*" -Force
Start-Service -Name Spooler

Sources: Microsoft Learn: Get-PrintJob (PrintManagement), Microsoft Learn: Remove-PrintJob (PrintManagement), Microsoft Learn: Start-Service (Microsoft.PowerShell.Management), Microsoft Support: Fix print job stuck in queue errors in Windows.

Mac and Linux (Terminal)

Open Terminal (on a Mac: Applications > Utilities). Printer names here can’t contain spaces, so spaces you type become underscores. Step 1 shows the exact name to use.

1. List printers and whether each is enabled

lpstat -p

2. List the jobs waiting for this printer

lpstat -o "PRINTER NAME"

3. Cancel every job for this printer

cancel -a "PRINTER NAME"

4. Restart a paused or stopped printer queue

If it says the action is forbidden, run it again with sudo in front and enter your password.

cupsenable "PRINTER NAME"

Sources: OpenPrinting CUPS: lpstat(1): print cups status information, OpenPrinting CUPS: cancel(1): cancel jobs, OpenPrinting CUPS: cupsenable(8): stop/start printers and classes.

Clear it with clicks instead

Same fix, through the settings. Start with the first step and stop when the queue is empty.

Windows

Open the print queue and cancel jobs (Windows 11)

  1. Open Start > Settings > Bluetooth & devices > Printers & scanners.
  2. Choose your printer, then choose Open print queue.
  3. Click the ... (more) menu and choose Cancel all, or right-click each job and choose Cancel.

Source: Troubleshooting offline printer problems in Windows | Microsoft Support (support.microsoft.com), checked Oct 12, 2026.

Restart the Print Spooler service

  1. Press Windows key + R, type services.msc and press Enter.
  2. Scroll down to Print Spooler.
  3. Right-click Print Spooler and choose Restart.

Source: Fix print spooler service not running errors in Windows | Microsoft Support (support.microsoft.com), checked Oct 12, 2026.

Clear a queue that won’t cancel

  1. Press Windows key + R, type services.msc and press Enter.
  2. Right-click Print Spooler and select Stop.
  3. In File Explorer, go to C:\Windows\System32\spool\PRINTERS and delete all files in the folder.
  4. Right-click Print Spooler and select Start.
  5. Turn the printer off, wait at least 60 seconds, turn it back on, then restart the PC.

Source: Fix print job stuck in queue errors in Windows | Microsoft Support (support.microsoft.com), checked Oct 13, 2026.

Mac

View and clear the print queue on Mac

  1. Click the Print Center icon in the Dock (or open Print Center from Applications > Utilities).
  2. Select the printer in the sidebar to see its jobs.
  3. To remove a stuck job, select it and click Delete Job.
  4. To pause or resume one job, use Hold Job or Resume Job; to pause/resume the whole printer, use Pause or Resume in the toolbar.

Source: Solve printing problems on Mac - Apple Support (support.apple.com), checked Oct 12, 2026.

Reset the printing system (last resort)

  1. Choose Apple menu > System Settings, then click Printers & Scanners in the sidebar (scroll down if needed).
  2. Control-click a printer in the Printers list (or the empty list if none) and choose Reset Printing System.
  3. Add your printers again afterwards.

Source: Reset the printing system on your Mac to solve a problem - Apple Support (support.apple.com), checked Oct 12, 2026.

Why print jobs get stuck

A print job leaves your app, waits in a queue on your computer, and goes to the printer when it is ready. On Windows the print spooler service runs that queue. Jobs stop moving when:

  • the printer went offline or into an error (paper out, jam, open cover) partway through a job;
  • one job is damaged or very large, and everything behind it waits;
  • the queue is paused, or on Windows 10 set to Use Printer Offline;
  • the spooler service itself has stalled.

Clear the cause first if you can see it on the printer’s screen, then clear the queue. Otherwise the next job gets stuck in the same place.

Which step to use (and how to clear the print spooler)

  1. Cancel all. The queue window’s ... menu has Cancel all in Windows 11.[1] PowerShell does the same per printer with Get-PrintJob and Remove-PrintJob, without admin rights.[2][3]
  2. Restart the spooler when jobs say “Deleting” and never leave (every way to restart the print spooler). It is one of Microsoft’s own offline-printer steps.[4] From PowerShell it needs an administrator window.[5]
  3. Empty the spool folder when cancelling does nothing. Microsoft’s method is to stop the spooler, delete everything in C:\Windows\System32\spool\PRINTERS, and start it again.[6] It removes waiting jobs for every printer, so print anything you still need again.

Mac and Linux: the queue may be stopped, not stuck

Macs and Linux use CUPS for printing. By default, when a job fails CUPS stops that printer,[7] and new jobs pile up behind it until the printer is started again. lpstat -p shows each printer and whether it is enabled,[8] cancel -a removes every job on a printer,[9] and cupsenable starts a stopped queue again.[10] CUPS printer names can’t contain spaces,[11] which is why the tool above turns spaces into underscores. Without Terminal, Print Center on a Mac has Delete Job and Resume.[12]

Queue empty, but still nothing prints?

The printer may be offline or unreachable. Use the printer offline checker. If the printer’s own test page prints but your documents don’t, see test page prints, documents don’t.

Questions people ask

How do I clear the print queue in Windows 11?

Open Settings > Bluetooth & devices > Printers & scanners, choose the printer and select Open print queue, then use the ... menu and Cancel all. If jobs will not go, stop the Print Spooler service, delete the files in C:\Windows\System32\spool\PRINTERS, and start the spooler again.

Why won’t my print job cancel?

The print spooler is holding the job, often because it is half-sent to a printer that went offline or jammed. Restarting the spooler usually releases it. If not, Microsoft’s fix is to stop the spooler and delete the waiting files in the spool folder.

Is it safe to delete files in the spool PRINTERS folder?

Yes, with the spooler stopped. The folder only holds jobs waiting to print. Deleting them cancels every waiting job for every printer on that computer, so print those documents again afterwards.

How do I clear the print queue on a Mac?

Open Print Center, select the printer, select each stuck job and click Delete Job. If the printer shows as paused, click Resume. In Terminal, cancel -a followed by the printer name removes every job at once.

What is the print spooler?

It is the Windows service that holds print jobs and sends them to the printer one at a time. If it stalls, jobs stop moving even when the printer is fine, which is why restarting it is a standard fix.

Sources

  1. [1] Troubleshooting offline printer problems in Windows (Microsoft Support)In Windows 11, the print queue’s ... (more) menu has Cancel all for pending jobs.
  2. [2] Get-PrintJob (PrintManagement) (Microsoft Learn)Get-PrintJob lists the jobs for a printer, and does not need administrator rights.
  3. [3] Remove-PrintJob (PrintManagement) (Microsoft Learn)Remove-PrintJob deletes print jobs, accepts jobs from the pipeline, and does not need administrator rights.
  4. [4] Troubleshooting offline printer problems in Windows (Microsoft Support)Restarting the Print Spooler service is one of Microsoft’s offline-printer steps.
  5. [5] Start-Service (Microsoft.PowerShell.Management) (Microsoft Learn)Starting, stopping or restarting a Windows service needs an elevated (administrator) PowerShell session by default.
  6. [6] Fix print job stuck in queue errors in Windows (Microsoft Support)Microsoft’s fix for a queue that won’t cancel: stop the Print Spooler, delete all files in C:\Windows\System32\spool\PRINTERS, then start the spooler.
  7. [7] cupsd.conf(5): server configuration file for CUPS (OpenPrinting CUPS)By default, CUPS stops a printer when a print job fails (ErrorPolicy stop-printer).
  8. [8] lpstat(1): print cups status information (OpenPrinting CUPS)lpstat -p shows each printer and whether it is enabled; lpstat -o shows queued jobs.
  9. [9] cancel(1): cancel jobs (OpenPrinting CUPS)On macOS and Linux (CUPS), cancel -a cancels every job on the named printer.
  10. [10] cupsenable(8): stop/start printers and classes (OpenPrinting CUPS)cupsenable starts a stopped printer queue again; cupsdisable stops it.
  11. [11] cancel(1): cancel jobs (OpenPrinting CUPS)CUPS printer names can’t contain spaces, tabs, slashes or #, and are not case-sensitive.
  12. [12] Solve printing problems on Mac (Apple Support)On a Mac, Print Center shows each printer’s jobs; Delete Job removes one and Resume restarts a paused printer.

Checked 2026-10-13. Combining Get-PrintJob with Remove-PrintJob in one line is our own composition of the two documented commands.