How to unsubscribe from all the channels you are following on YouTube at once.

If you have just realised you’ve subscribed to hundreds or even thousands of YouTube channels over the years, you’ll probably want to know how to quickly and easily mass unsubscribe from them all and wipe the slate to start all over again. Although YouTube doesn’t officially give you an option to do this, there is a quick and easy method available.

Related: How to set custom thumbnails for YouTube Playlists.

YouTube is one of the most used services on the Internet and has billions of hours of video content in an incomprehensibly huge library. Although algorithms curate most of the content on YouTube, subscriptions are the biggest influence on the content you see on the YouTube landing page. So if you have amassed a huge list of subscriptions your main page may seem like a random list of unorganised content.

As our tastes and interests change over the years, it’s a good idea to occasionally reset our subscription list to keep seeing content we’re actually interested in. It’s also a good way to remove any dead channels that no longer post content. Before you go ahead and start the steps shown below, copy down the names of your top favourite channels as this process removed everything. There is no way to pick and choose the channels you want to unsub from this is an entirely comprehensive YouTube unsubscribe method.

How do you unsubscribe from every channel you are subbed to on YouTube?

As we mentioned above, if you have a few favourite channels, you’ll want to copy them down somewhere so that you can resub to them after this process. Don’t forget to add us ;)

/**

 * Youtube bulk unsubsribe fn.

 * Wrapping this in an IIFE for browser compatibility.

 */

(async function iife() {

  // This is the time delay after which the "unsubscribe" button is "clicked"; Tweak to your liking!

  var UNSUBSCRIBE_DELAY_TIME = 2000

/**

 * Delay runner. Wraps `setTimeout` so it can be `await`ed on.

 * @param {Function} fn

 * @param {number} delay

 */

  var runAfterDelay = (fn, delay) => new Promise((resolve, reject) => {

    setTimeout(() => {

      fn()

      resolve()

    }, delay)

  })

  // Get the channel list; this can be considered a row in the page.

  var channels = Array.from(document.getElementsByTagName(`ytd-channel-renderer`))

  console.log(`${channels.length} channels found.`)

  var ctr = 0

  for (const channel of channels) {

    // Get the subsribe button and trigger a "click"

    channel.querySelector(`[aria-label^='Unsubscribe from']`).click()

    await runAfterDelay(() => {

      // Get the dialog container...

      document.getElementsByTagName(`yt-confirm-dialog-renderer`)[0]

        // and find the confirm button...

        .querySelector(`#confirm-button`)

        // and "trigger" the click!

        .click()

      console.log(`Unsubsribed ${ctr + 1}/${channels.length}`)

      ctr++

    }, UNSUBSCRIBE_DELAY_TIME)

  }

})()

Now you can close the console window and manually resub to any of the channels that you copied down earlier. You’ll have to visit each channel and do this manually so I hope you copied down their address to make things easy. This is by far the best way to unsubscribe to YouTube channels in bulk.

Comments