How to Bulk Delete All Youtube’s Watch Later Videos

When seeing a good Youtube video, it is common for people to add it to Watch Later list to “watch later”. The problem is that the list keeps adding up and becomes bigger and bigger.

See also: Youtube Thumbnail Grabber

When the Watch Later list becomes too big, it will loose its purpose of keeping track of wanted videos. Users start deleting watched videos or uninteresting ones. But they must click “Remove from Watch later” for a hundreds of videos. In most cases nobody wants to do that.

Bulk-deleting is the solution everyone loves. Youtube has Delete watched videos feature which delete videos you already watched. Even if you only watch 1 second of a video, it is also deleted. What about videos we haven’t watched? We still need to find a way to delete them in bulk.

So Youtube still lacks the much-needed mass delete features. Fortunately, we can execute a JavaScript block of code to mass delete Watch Later videos.

Steps to Remove All Watch Later Videos at Once

1) Open your Youtube Watch List in web browsers like Chrome or Brave.

2) Press F12 to open developer’s console or access it via web browser’s Menu.

3) Navigate to Console tab.

4) Paste this script into the console and press Enter.

Updated: 2021/03/19

Here is the script I used to delete videos on my Watch later list. It still worked fine as I tested on 19 March, 2021.

setInterval(function() {
	document.querySelector('#primary button[aria-label="Action menu"]').click();
	var things = document.evaluate('//span[contains(text(),"Watch later")]',document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
		for (var i = 0; i < things.snapshotLength; i++) {
		    things.snapshotItem(i).click();
		}		
}, 1000);

After pressing Enter, you will see videos disappearing one by one. When the script executes, it open the menu of each video popup item and click on the Remove from Watch Later menu item.

Apply the script in different language

Thanks Xerus for reporting bout the script not working in other languages. Here is how to apply it for other languages:

  • Find the text of the hidden menu button (three vertical dots) by Right-click and Inspect on it. You will find the aria-label text in your language. Replace “Action menu” with the text in '#primary button[aria-label="Action menu"]'
  • Replace “Watch later” with the text in your language in span[contains(text(),"Watch later")

I tried the script in French language by replacing:

  • “Action menu” with “Menu d\’actions” – Remember to add a slash (\) before a single quote to escape it.
  • “Watch later” with “À regarder plus tard”

The script becomes:

setInterval(function() {
	document.querySelector('#primary button[aria-label="Menu d\'actions"]').click();
	var things = document.evaluate('//span[contains(text(),"À regarder plus tard")]',document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
		for (var i = 0; i < things.snapshotLength; i++) {
		    things.snapshotItem(i).click();
		}		
}, 1000);

The below is an old script. I keep it here for later reference.

var videos = $('body').getElementsByClassName("yt-uix-button yt-uix-button-size-default yt-uix-button-default yt-uix-button-empty yt-uix-button-has-icon no-icon-markup pl-video-edit-remove yt-uix-tooltip");
function deleteVideos(i) {
	setInterval(function() {
		videos[i].click();
	}, 1000);
}
for (var i = 0; i < 1; ++i){
	deleteVideos(i);	
}

19 thoughts on “How to Bulk Delete All Youtube’s Watch Later Videos”

    1. This script hasn’t work anymore with new Youtube’s UI. I’m testing and see if I can write a new script.

      Edited: I uploaded new script.

  1. Neither the first nor second script is not working this error is showing

    setInterval(function() {
    document.querySelector(‘#primary button[aria-label=”Action menu”]’).click();
    var things = document.evaluate(‘//span[contains(text(),”Watch later”)]’,document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
    for (var i = 0; i < things.snapshotLength; i++) {
    things.snapshotItem(i).click();
    }
    }, 1000);
    1272
    235VM98:4 Uncaught TypeError: Cannot read property 'click' of undefined
    at :4:13

  2. This is not working for me. I’m getting a pop up that says “Why this ad? on one line and then “Stop seeing this ad” on the second line.

    1. Can you explain in more detail or a screenshot? What is your Youtube language, any installed browser addons for Youtube?

  3. Sorry to add more questions but, I did this, and it worked, but I didn’t know what to do after it was done. At the end I get something similar to what: FAHAD’s comment in Mar/2021. I copied this from his comment: 235VM98:4 Uncaught TypeError: Cannot read property ‘click’ of undefined
    at :4:13
    If you could please respond. Thanks.

    1. What did you mean by “after it was done”? If the script worked and all videos were deleted, try refreshing your browser’s tab to stop script from executing. That error happens when there is no video to delete.

  4. Works perfect for me. Now I have to wait 2 hours till it clears the entire list. I know I have an addiction I’m a chronic video hoarder lol.

  5. Simon Mallet-Dubuc

    Would be important to mention that the Script works with English. If your youtube account is set in another language, you will have to replace “Watch later” in the script with the correct language first, or set your account in english and execute the script afterwards. awesome thank you

Leave a Comment

Your email address will not be published. Required fields are marked *

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close