Skip to content

Instantly share code, notes, and snippets.

@TheOnlyWayUp
Last active June 23, 2025 11:45
Show Gist options
  • Save TheOnlyWayUp/4452b0a5c151740417c16f3518fb701e to your computer and use it in GitHub Desktop.
Save TheOnlyWayUp/4452b0a5c151740417c16f3518fb701e to your computer and use it in GitHub Desktop.
Like all songs in a Youtube Music Playlist

This script likes all the songs in a Youtube Music Playlist at once.

How to use:

  • Visit a Playlist's page on ytm (URL looks like: https://music.youtube.com/playlist?list=...
  • Press ctrl + shift + j. This opens the Developer Console.
  • Copy the script in this gist (That's in script.js)
  • Paste the code into the Developer Console on the ytm Tab, hit enter.
  • Great, you're done!

Star ⭐ this gist if it was useful. Follows to my GitHub Profile are appreciated.

Follow Badge


TheOnlyWayUp © 2024

// made by https://github.com/TheOnlyWayUp, if it helped, drop a follow!
// source: https://gist.github.com/TheOnlyWayUp/4452b0a5c151740417c16f3518fb701e
let interval = 10 // wait time between chunks in seconds
const chunk = size => array => array.reduce((result, item) => {
if (result[result.length - 1].length < size) {
result[result.length - 1].push(item);
} else {
result.push([item]);
}
return result;
}, [
[]
]); // Thanks https://stackoverflow.com/a/77372180
function likeall() {
let els = document.getElementById("contents").querySelectorAll(
"button[aria-pressed=false][aria-label='Like']")
console.log(`${els.length} to Like`)
let cels = chunk(5)(Array.from(els))
cels.forEach(function(items, index) {
setTimeout(function() {
console.log("start")
items.forEach(el => el.click())
console.log("end")
}, index *
interval * 1000); // Thanks https://stackoverflow.com/a/45500721
});
}
likeall()
@aawezhussain
Copy link

aawezhussain commented Sep 21, 2024

The code isn't working currently. It says all songs processed but it haven't liked more than 3 songs.
image

So I wrote a code myself which could be found in https://github.com/aawezhussain/Youtube-Music-Auto-Playlist-Liker

@TheOnlyWayUp
Copy link
Author

TheOnlyWayUp commented Sep 27, 2024

The code isn't working currently. It says all songs processed but it haven't liked more than 3 songs. image

So I wrote a code myself which could be found in https://github.com/aawezhussain/Youtube-Music-Auto-Playlist-Liker

Credit in your repo would've been nice.

I like the idea of using scrollBy, that's smart, cc @KnoBuddy

Edit: The code looks original/rewritten, nice work.

@kksoda13
Copy link

Anyone of you beautiful mind genius could make a exact opposite version of this? like getting all the liked songs and turning into a separated playlist

@olekii
Copy link

olekii commented Apr 19, 2025

The program worked perfectly I used it to like my 3000 songs that I had from spotify over to my youtube music account.

@Asheq096
Copy link

Asheq096 commented Jun 3, 2025

The program worked perfectly I used it to like my 3000 songs that I had from spotify over to my youtube music account.

I am hoping you have not gotten banned? How much did you wait between liking songs?

@olekii
Copy link

olekii commented Jun 3, 2025

The program worked perfectly I used it to like my 3000 songs that I had from spotify over to my youtube music account.

I am hoping you have not gotten banned? How much did you wait between liking songs?

I still have my account and its been over 2 months still use it daily and had no problems. I also believe its due to my accounts age of 10+ years and it being premium for youtube music and I used the default original code without changing the timing between liking songs

@svintit
Copy link

svintit commented Jun 15, 2025

None of these seem to work as of today, no songs are selected, and it finishes almost immediately, will try find some time to fix

@svintit
Copy link

svintit commented Jun 15, 2025

I got it working with https://github.com/aawezhussain/Youtube-Music-Auto-Playlist-Liker - updating the query selector ID and removing the liked conditional (none of my songs were already liked so worked for me)

@pokemonshowdown1
Copy link

I got it working with https://github.com/aawezhussain/Youtube-Music-Auto-Playlist-Liker - updating the query selector ID and removing the liked conditional (none of my songs were already liked so worked for me)

Would you mind posting your fix?

@PostApoc
Copy link

I got it working with https://github.com/aawezhussain/Youtube-Music-Auto-Playlist-Liker - updating the query selector ID and removing the liked conditional (none of my songs were already liked so worked for me)

Would you mind posting your fix?

I got it working by changing the following line:
const likeButtons = document.querySelectorAll('tp-yt-paper-icon-button[aria-label="Like"]');
To:
const likeButtons = document.querySelectorAll('.yt-spec-button-shape-next--icon-button[aria-label="Like"]');

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment