How-To Geek

How to Cancel or Delete a Stuck Print Job in Windows

cpj_top

Sometimes, documents you’re printing get stuck in the printer’s queue, preventing further documents from being printed. Here’s how to fix it when that happens.

Whether you’re using a local or shared network printer, sometimes printing doesn’t go quite right. If you’ve tried troubleshooting obvious printer problems—paper jams, no paper, low ink or toner, or simply restarting the printer—it’s time to turn your attention toward the print queue. Often, simply clearing and restarting the print spooler—the software that prepares and manages printing documents—can fix the problem. If that fails, you may need to cancel one or more documents in your print queue and see if that gets things going again.

This should work in Windows Vista, 7, 8, and 10.

Clear and Restart the Print Spooler

Clearing and restarting the print spooler should be your first step when trying to fix stuck print jobs because it won’t actually cancel any of your currently printing documents. Instead, it restarts things and proceeds as if all those documents had just been sent to the printer for the first time.

To do this, you’ll stop the Print Spooler service, delete the temporary cache Windows uses to spool print jobs, and then start the service again. We’re going to show you two ways to do this. First, we’ll look at how to do it manually, and then we’ll look at how to create a batch script so that you can do it any time you want with just a click.

Clear and Restart the Print Spooler Manually

To clear and restart the print spooler manually, you’ll first need to stop the Print Spooler service. Click Start, type “services,” and then click the Services app.

cpj_8

In the right-hand pane of the Services window, find and double-click the “Print Spooler” service to open its properties window.

cpj_9

In the properties window, on the “General” tab, click the “Stop” button. You’ll be restarting the service a bit later, so go ahead and leave this properties window open for now.

cpj_10

Fire up File Explorer and browse to the following location—or just copy and paste this text into your File Explorer address bar and hit Enter:

%windir%\System32\spool\PRINTERS

You’ll likely be asked to provide permission to access this folder. Go ahead and accept.

cpj_11

Delete the contents of the entire folder by pressing Ctrl+A and then the Delete key.

cpj_12

Now, return to that open properties window in the Services app and click “Start” to restart the Print Spooler service. Click “OK” to close the properties window and you can also go ahead and exit the Services app.

cpj_13

As soon as you restart the Print Spooler service, all the documents in your queue are immediately respooled and sent to the printer. If all goes well, they should start printing again right away.

Clear and Restart the Print Spooler with a Batch File

If clearing your print queue by restarting the Print Spooler service is something you think you’ll be doing more than once—or you’d just rather not go through the trouble of using the Services app—you can also create a simple batch file to do the job.

Fire up Notepad or your preferred text editor. Copy and paste the following text as separate lines into the blank document:

net stop spooler
del /Q /F /S "%windir%\System32\spool\PRINTERS\*.*"
net start spooler

cpj_14

Next, you’ll save your document as a .bat file. Open the “File” menu and click the “Save As” command. In the “Save As” window, browse to the location you want to save the file. On the “Save as type” drop-down menu, choose the “All files (*.*)” entry. Name your file whatever you like, but include “.bat” at the end. Click “Save” when you’re done.

cpj_15a

You can now double-click that batch file to clear the print spooler whenever you want. Better yet, create a shortcut to the batch file and then place that shortcut where it makes the most sense to you—desktop, Start menu, or taskbar—and you’ll have one-click access to clear and restart the print spooler whenever you want.

Restart or Cancel Some or All of Your Printing Documents

If clearing and restarting the print spooler didn’t do the trick, the next step you’ll want to take is to see if you can identify—and cancel—whatever document is stuck. Sometimes, clearing a single stuck document will get your printer going again and any other print jobs in the queue can finish printing normally. Other times, you might have to cancel all the currently printing documents and then try printing them again.

Click Start, type “devices,” and then click the “Devices and Printers” Control Panel app.

cpj_1

In the Devices and Printers window, right-click the printer you’re having trouble with and then click the “See what’s printing” command to open the print queue.

cpj_2

The print queue window shows the print jobs currently awaiting printing. If a single document is causing the problem and you have more than one document in the queue, it’s usually the earliest document that’s stuck. Click the header for the “Submitted” column so that the documents are arranged in the order they were submitted, with the earliest at the top. Note that in our example, we arranged the columns so they would fit in our screenshot better, so your “Submitted” column may be further to the right.

cpj_3

Right-click the earliest print job and then select “Restart” from the context menu.

cpj_4

If your printer cranks up and starts printing after restarting the document, you’re good to go. Otherwise, you’ll need to try canceling the document. Right-click the document again and select the “Cancel” command.

cpj_5

Click “Yes” to confirm that you want to cancel the document.

cpj_6

If the cancellation was successful, the document should disappear from the print queue and the printer will start printing the next document in line. If the document didn’t get canceled at all—or if the document did get canceled but printing is still not happening—you’ll need to try canceling all the documents in the queue. Click the “Printer” menu and then choose the “Cancel all documents” command.

cpj_7

All the documents in the queue should disappear and you can try printing a new document to see if it works.


If restarting the print spooler and clearing documents from the print queue didn’t fix your printing problem—and your printer was working successfully previously—then you’ll likely need to turn your attention toward things like updating or reinstalling your printer drivers or moving on to whatever diagnostics are provided by the manufacturer of your printer. But hopefully, these steps have helped fix your stuck print job before going that far.

Walter Glenn is a long time computer geek and tech writer. Though he's mostly a Windows and gadget guy, he has a fondness for anything tech. You can follow him on Facebook and Twitter.

  • Published 12/15/11

Comments (23)

  1. Midnight

    Great tip. Thanks!

  2. Josh B.

    Now THIS is useful. Nice!

  3. Orejano

    i have a batch taken from lifehacker to do just that
    but this is something to be careful with since the spool server has a temper of it own

    @echo off
    echo Stopping Spooler
    echo.
    net stop spooler
    echo Deleting Stuff
    echo.
    del “%systemroot%\system32\spool\printers\*.shd”
    del “%systemroot%\system32\spool\printers\*.spl”
    echo Restarting Spooler.
    echo.
    net start spooler

  4. YB

    Good find HTG

  5. BarryD

    I’ve been using the free program Stalled Printer Repair by Jason Von Ruden. I’ve used it for some time now and it works great.

    http://www.fantasticfreeware.com/index.php/applications/stalled-printer-repair/

  6. More Lifehacker
  7. Sreenadh

    I use a simpler way. First, stop/cancel the print job in the queue. Then turn the printer off and on, and the stuck job vanishes. This works beautifully on Windows XP, not sure if applicable to later versions

  8. JT

    Sreenadh, tsk tsk tsk
    You know better than that…we geeks need a process that draws “Ohhhh, ahhhh” from the Computer user sheeple! Called job security :)

  9. The Unspoken

    @Orejano
    I am not really familiar with batch files but I am comfortable tinkering with them. I copy and pasted the text into N++ and then saved it as a .bat. When I ran it, it said the volume or directory was incorrect. So I hunted down the path in your post, I had to add Windows to the path. I ran it again and still got the same error.

    Then I saw that HTG had %windir% and so I changed that from your original post. Still no joy.

    Everything else in your post worked for me.

    I have Win 7 Pro. Not sure if the directory structure is different or what.

    The Unspoken

  10. WL

    Since no user has Admin right, I ask them to 1) Power off printer, 2) Restart computer, 3) Delete print jobs, 4) Verify print jobs are deleted, 5) Power on printer and print a test page.

  11. Sreenadh

    But is restarting the computer needed? I never have to do that. Just turning printer off seems to clear out the stuck jobs from the queue. (with apologies to JT for an insufficiently geeky solution!)

  12. Rege

    I use Stalled Printer Repair, a utility from FantasticFreeware.com. It is simple to use and works beautifully.

  13. Emir

    very useful tnx!

  14. Bogey

    For XP users, I have a similar batch file, but much simpler. And it has worked every time.
    Power off the printer.
    create the batch file below, saved at .bat file. (We named ours KillQueue.bat)

    net stop spooler
    del c:\windows\system32\spool\printers\*.shd
    del c:\windows\system32\spool\printers\*.spl
    net start spooler

    Power on the printer, your print queue should be empty (be sure to Refresh)

  15. Tek9

    For those creating batch files. Save a line and del c:\%winroot%\system32\spool\printers\*.* There shouldn’t be anything in that folder besides print jobs, thus all can be deleted.

  16. Roger

    This happens to me on the odd occasion, and deleting it sometimes works and sometimes not, resulting in rebooting system. This idea is better than my way, so thanks for the tip.

  17. Chang

    I got lost at the first step, the search for services. I entered ‘SERVICES’ in the search field, but nothing comes up. Can anyone help me?

    TIA

    Chang

  18. amir

    Great !!!!!!!!! I’ve been searching about it since long time ago….

  19. WL

    @Sreenadh – The restarting is needed. For some reasons, when a print job which is originated from a Terminal Server stuck, you cannot just clear it by turning the printer on and off.

  20. Little John

    I like using a batch file to clear out my print queue.
    Here is my version of a batch file.

    Rem Stop the print spooler service
    @echo off
    echo Stopping Print Spooler
    net stop spooler
    echo
    if errorlevel 1 echo error: Could not stop spooler.
    echo
    echo Erasing junk printer files
    del /Q /F /S “%systemroot%\System32\Spool\Printers\*.*”
    echo Done!!
    Rem Restart the print spooler
    echo Restarting Print Spooler
    echo
    net start spooler
    if errorlevel 1 goto nospoolerstart
    echo
    echo Try printing again
    echo
    echo Press any key to exit
    Pause
    exit

    Since I use only Windows 7, will this batch file work on other versions I don’t know. Major note, you have to run the CMD by right click and run as administrator or the batch will error out.

    :nospoolerstart
    echo error: could not start the spooler, something wrong.

  21. Bob

    Seach internt for Print Flush – 1.3 – By Brad Kovach. Best little utility that works every time!

  22. ilusha

    Great tip.Thanks :-)

  23. Art€

    I use a small portable utility Stalled Printer Repair from FantasticFreeware.com It fixes all stalled print jobs (which I had a lot of – now no more) without any fuss or bother. Just does it. Great!

More Articles You Might Like

Enter Your Email Here to Get Access for Free:

Go check your email!