k keepsakeSPOTIFY LIBRARY VAULT
YOUR MUSIC. YOUR MEMORY.

Keep the songs.
Take the list.

Subscriptions end. Your collection shouldn’t.
Save your Spotify library in a format you can take anywhere.

↳ Local backups↳ No tracking↳ Free & open source
01 / YOUR ARCHIVE

A home for your library.

FROM SPOTIFY

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.

02 / YOUR NEXT CHAPTER

Meet your music on YouTube.

YOUTUBE MUSIC

Bring a song list from any supported export. Find recordings, review uncertain matches, then add the selected songs to Liked Music.

A local companion makes the connection.

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.

Open local companion ↗

Install the YouTube Music connection helper

The helper is not installed in this browser.

  1. Use Chrome or Edge. Open chrome://extensions (or edge://extensions) in its address bar.
  2. Turn on Developer mode and choose Load unpacked.
  3. Select this folder:
    youtube-connect
  4. Return here, reload the page, and click Connect YouTube Music. It will open YouTube Music automatically.

Already installed an older version? Click its Reload button on the extensions page. The helper uses your YouTube Music browser session and saves the connection only on this computer.

Import a library above, then use the local companion to migrate it.

Set up the YouTube Music companion+

1 · Run it locally

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.

2 · Connect your YouTube Music account

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.

03 / MAKE YOUR EXIT

Three steps. A lasting copy.

01

Bring your library.

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.

02

Check the count.

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.

03

Take it anywhere.

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.

Get the browser helper+

Option A · Bookmarklet

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 Keepsake

Runs locally on the Spotify page. Some browsers or Spotify security settings may block bookmarklets; use the extension in that case.

Option B · Chrome / Edge extension

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.

Import Spotify’s official account data+

A second source for your archive.

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.

Know what a backup can preserve.

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 ↗
Paste a song list or backup JSON+
START WITH SPOTIFY

One small helper.
Your whole list.

Websites can’t read another tab’s private library. Use the bookmarklet or extension to capture the list inside your signed-in Spotify tab, then import the downloaded JSON here.