Ronalds Vilciņš

How to Unsubscribe from All YouTube Channels in Bulk



YouTube allows users to subscribe to as many channels as they like, but as your subscriptions grow, managing them can become a tedious task. If you’ve found yourself with dozens (or even hundreds) of channels you no longer follow, unsubscribing from them one by one can be time-consuming and frustrating. Fortunately, there are ways to unsubscribe from all your YouTube channels in bulk. In this guide, we’ll show you how to do it manually and how to automate the process using a custom script for faster results.

1. Manually Unsubscribe From Channels

If you have only a few channels to unsubscribe from, the manual method will suffice. Here’s how to do it:

  1. Open YouTube in Your Browser: Navigate to YouTube and log in to your account.
  2. Go to the “Subscriptions” Tab: On the left sidebar, click on the “Subscriptions” tab. This will display all the channels you’re currently subscribed to.
  3. Click “Manage”: In the top-right corner of the subscriptions section, you’ll see the “Manage” button. Click it to open a page listing all the channels you’re subscribed to.
  4. Unsubscribe from Each Channel: You’ll now see a list of your subscriptions. Next to each channel is a “Subscribed” button. Click on this button, and a dropdown menu will appear with the option to “Unsubscribe.” Click “Unsubscribe” to remove that channel from your subscriptions.
  5. Repeat for All Channels: Continue this process until you’ve unsubscribed from all the channels you no longer wish to follow.

While this method works well if you only need to unsubscribe from a few channels, it becomes cumbersome when you have a large list of subscriptions.

2. Automatically Unsubscribe from All YouTube Channels in Bulk Using a Custom Script

For those with too many subscriptions to manage manually, a custom script can automate the process and save you time. Here’s how you can use a script to unsubscribe from all your channels in bulk.

Steps to Automatically Unsubscribe

  1. Open the Subscription Page: Go to the page where all your subscriptions are displayed. You can do this by clicking on the “Subscriptions” tab and then “Manage,” as described earlier.

  2. Inspect the Page’s Source Code: Right-click anywhere on the page and select “Inspect” (or press Ctrl+Shift+I on Windows or Cmd+Option+I on Mac). This will open the Developer Tools window, showing the HTML source of the page.

  3. Go to the “Console” Tab: In the Developer Tools window, switch to the “Console” tab. This is where you’ll paste the custom script.

  4. Paste the Script: Copy the script provided at the end of this article and paste it into the console. To do this:

    • Highlight the entire script, right-click, and select Copy.
    • Return to the Console tab in Developer Tools, click on the blank line, and Paste the script there (either by right-clicking and selecting Paste, or using the shortcut Ctrl+V or Cmd+V).
    • If a warning appears (such as “Unsafe JavaScript”), simply type allow and press Enter to allow pasting.
  5. Run the Script: After pasting the code, press Enter. The script will start executing, and YouTube will begin unsubscribing you from each channel sequentially. You will see notifications in the console showing how many channels have been unsubscribed and how many remain.

  6. Wait for Completion: Let the script run until it unsubscribes from all the channels. If the process stops unexpectedly, try refreshing the page and running the script again.

Here’s the Script You Can Use:

(async function iife() {
    var UNSUBSCRIBE_DELAY_TIME = 2000;

    var wait = (delay) => new Promise((resolve) => setTimeout(resolve, delay));

    async function scrollPage() {
        window.scrollBy(0, window.innerHeight);
        await wait(1000);
    }

    var totalUnsubscribed = 0;

    async function unsubscribeFromChannels() {
        try {
            var channels = Array.from(
                document.querySelectorAll(
                    "ytd-subscription-notification-toggle-button-renderer-next > yt-button-shape > button"
                )
            );

            if (channels.length === 0) {
                console.log("No more channels to unsubscribe.");
                return;
            }

            console.log(channels.length + " channels found.");

            for (const channel of channels) {
                channel.click();
                await wait(100);
                document
                    .querySelector("#items > ytd-menu-service-item-renderer:nth-child(2)")
                    .click();
                await wait(800);
                document
                    .querySelector("#confirm-button > yt-button-shape > button > yt-touch-feedback-shape")
                    .click();
                await wait(UNSUBSCRIBE_DELAY_TIME);
                console.log("Unsubscribed " + (totalUnsubscribed + 1) + " / " + channels.length);
                totalUnsubscribed++;
            }

            await scrollPage();
            unsubscribeFromChannels();

        } catch (e) {
            console.error(e);
        }
    }

    unsubscribeFromChannels();
})();

Explanation of the Script

Tips for Running the Script



0  0  0

Comments

Reply on Bluesky here to join the conversation.