Capture your liked songs
Read the list from your signed-in Spotify tab. Works with Liked Songs, playlists, and album track lists.
Use the browser helper to get started.
Subscriptions end. Your collection shouldn’t.
Save your Spotify
library in a format you can take anywhere.
Read the list from your signed-in Spotify tab. Works with Liked Songs, playlists, and album track lists.
Use the browser helper to get started.
| # | TRACK / ARTIST | ALBUM | ADDED | TIME | DETAILS |
|---|
Bring a song list from any supported export. Find recordings, review uncertain matches, then add the selected songs to Liked Music.
Open the local app to search and add songs. Your authentication stays on this computer. CSV/TSV, JSON, TXT, M3U/M3U8, and ZIP backups are supported.
First connection: install the optional YouTube Music connection helper, then click Connect YouTube Music. No sign-in file to find or copy.
Best effort accepts alternate releases, remasters, combined artist credits, transliterated names and small timing differences. Unlabeled versions could be clean. Different performers, live/remix versions and weak title matches can still require review. Applying preferences preserves completed likes and manual choices; remaining uncertain songs are searched again on the next run.
Uses the collection selected in your archive above. Matches meeting your preferences are preselected; uncertain versions stay unselected. Search sends title and artist metadata to YouTube Music. Start bulk import to add ready selections and future automatic matches using your preferences.
Import a library above, then use the local companion to migrate it.
Scores measure metadata similarity, not the probability of a correct recording. Review counts exclude songs with no results.
| YOUR SONG | YOUTUBE MUSIC RECORDING | RESULT |
|---|
Bulk import sets each selected recording to liked in the account shown above. It skips existing likes, checks playability, and verifies additions every 50 new songs and at the end. You can pause and resume.
Download or clone the project. Install Python 3.11+ and Node.js 22+. In the project directory, create a virtual environment, install the companion, and build the app:
python -m venv .venv # Activate .venv (see the linked guide) python -m pip install -e . npm ci npm run build python -m keepsake_migrate
Open 127.0.0.1:4180 ↗ for search and review. Import your existing backup in that local tab.
Follow the connection guide ↗ to install the optional connection helper. Then click Connect YouTube Music in the local app. The helper creates the private sign-in file automatically; there are no credentials to copy.
The local app updates automatically after connecting. No restart is needed.
The local app shows the destination account before enabling bulk import. The companion uses the unofficial ytmusicapi library; YouTube changes can affect it. Metadata matching is approximate, so check uncertain recordings and explicit versions.
Open Liked Songs ↗, clear any search filter, and choose List view. Run the browser helper below. Keep Spotify open while it scrolls through every row.
Compare the captured count with Spotify’s total. Missing rows, interrupted captures, and unknown metadata stay visible. Save the backup even if it’s incomplete.
Keep JSON as your master copy. Use CSV for a migration tool that accepts track, artist, and album columns. Matching can vary: review versions and explicit recordings.
Drag this button to your bookmarks bar. Open your Spotify list and click the saved bookmark. Download its JSON, then bring that file back here.
↓ Capture with KeepsakeRuns locally on the Spotify page. Some browsers or Spotify security settings may block bookmarklets; use the extension in that case.
Download the extension ZIP ↗
and unzip it. Open chrome://extensions (or
edge://extensions), enable Developer mode, choose
Load unpacked, and select the unzipped folder.
Open Spotify, click the Keepsake extension icon, then choose Capture Spotify library.
Only uses active-tab access and script execution. It never requests cookies or account credentials.
Request Account data from
Spotify’s privacy page ↗. When it arrives, import YourLibrary.json,
Playlist*.json, or the ZIP containing them. Saved
albums, artists, shows, and episodes are preserved when present.
This app exports music metadata, not audio. It cannot recover songs Spotify has already removed from the account data or interface. Browser captures cannot supply ISRCs or exact saved timestamps that the page doesn’t show. Unknown values stay blank.
What Spotify includes in your data ↗