๐ Easily migrate playlists, saved tracks, and followed artists between different Spotify accounts
A modern and secure web app to transfer your music library
- โจ Features
- ๐ฏ What You Can Migrate
- ๐ Installation & Setup
- ๐ฎ How to Use the App
- ๐ ๏ธ Troubleshooting
- โ FAQ
- โ Single-App Architecture - Only one Spotify app configuration needed
- โ Secure Authentication - OAuth2 + automatic token refresh
- โ Zero Loss - Smart duplicate checking
- โ Modern Interface - Responsive design with Material-UI
- โ Detailed Logging - Full monitoring of operations
- โ Error Handling - Automatic recovery and intelligent retries
|
|
|
You will need:
- Node.js (LTS version): Download here
- Two Spotify accounts (free or premium)
- A Spotify App in the Developer Dashboard
Method 1 - Download ZIP:
- Visit https://github.com/gomgo-github/spotify-migration-tool-english
- Click "Code" โ "Download ZIP"
- Extract it into your preferred folder
Method 2 - Git Clone:
git clone https://github.com/gomgo-github/spotify-migration-tool-english.git
cd spotify-migration-tool-english
โ ๏ธ IMPORTANT: This is the most critical step!
- Go to: Spotify Developer Dashboard
- Log in with any Spotify account
- Click on "Create app"
Fill in the fields:
| Field | Value |
|---|---|
| App name | Spotify Migration Tool |
| App description | Tool to migrate playlists between Spotify accounts |
| Website | http://[::1]:5000 |
| Redirect URI | See below โฌ๏ธ |
๐ CRUCIAL: Add EXACTLY these two URIs:
http://[::1]:5000/api/auth/source/callbackhttp://[::1]:5000/api/auth/destination/callback
- Save the app
- Go to "Settings"
- Copy the Client ID and Client Secret
- Go to "User Management"
- Add the email of the source account
- Add the email of the destination account
# Install backend dependencies
npm install
# Install frontend dependencies and build
cd client
npm install
npm run build
cd ..(Recommended) Quick method:
- Copy the
config-example.envfile - Rename it to
.env - Edit the following values:
# Replace with your actual Client ID and secret preiously copied
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret
# DO NOT modify these
SPOTIFY_REDIRECT_URI=http://[::1]:5000/api/auth/source/callback
DEST_REDIRECT_URI=http://[::1]:5000/api/auth/destination/callback
# Generate a long random string of at least 32 characters long
SESSION_SECRET=very_long_and_secure_random_string
PORT=5000npm startExpected output:
๐ Server started on port 5000
๐ต Spotify Migration Tool ready!
๐ Open: http://[::1]:5000
Open your browser at: http://[::1]:5000
When you open the app, youโll see:
๐ต Spotify Migration Tool
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Configuration Status: โโโโโโโโโโ 0%
๐ธ Step 1: Connect Source Account [ Not Connected ]
๐ธ Step 2: Connect Destination Account [ Not Connected ]
๐ธ Step 3: Start Migration [ Not Available ]
- Click on "Connect Source Account"
- Log in with the account you want to copy from
- Authorize the app
- Click on "Connect Destination Account"
โ ๏ธ IMPORTANT: If you see the previous account, click "Not you?"- Log in with the destination account
- Authorize the app
-
Click on "Start Migration"
-
Choose what to migrate:
- โ๏ธ Playlists
- โ๏ธ Saved Tracks
- โ๏ธ Followed Artists
-
Click "Start Migration"
During migration, youโll see real-time updates:
๐ต Migration in Progress...
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Playlists: โโโโโโโโโโโโโโโโโโโโ 15/27 (55%)
๐ Saved Tracks: โโโโโโโโโโโโโโโโโโโโ 312/1247 (25%)
๐จโ๐ค Artists: โโโโโโโโโโโโโโโโโโโโ 89/89 (100%) โ
โฑ๏ธ Elapsed Time: 2m 34s
โ "INVALID_CLIENT: Invalid redirect URI"
-
Cause: Redirect URIs not set up correctly
-
Fix: Make sure you added EXACTLY these in your Spotify app:
http://[::1]:5000/api/auth/source/callbackhttp://[::1]:5000/api/auth/destination/callback
โ "403 Forbidden" during authentication
- Cause: Account not added as test user
- Fix: Go to User Management and add the account's email address
โ "Cannot connect to server"
- Cause: Port 5000 is occupied
- Fix: Change port in
.envfile (e.g.,PORT=3000), remember to change the port on the redirect URIs (e.g.http://[::1]:3000/...)
โ App crashes or NPM errors
-
Cause: Corrupted dependencies
-
Fix:
rm -rf node_modules client/node_modules npm install cd client && npm install && npm run build && cd ..
- Not critical, but pointless to migrate between the same account
- Normal for tracks unavailable in your region or removed from Spotify
โ Can I use free accounts?
- Yes! Works with both free and premium accounts
โ Is my data safe?
- Absolutely. The app doesn't store credentials and only uses official Spotify APIs, every runs locally on your computer
โ How many songs can I migrate?
- Theoretically unlimited (it handles thousands of tracks automatically)
โ What if I stop the migration?
- You can pause and resume anytime, duplicates are avoided automatically
โ Does it work on Mac/Linux?
- Yes, works on any system with Node.js
โ Can I migrate between different countries?
- Yes, but some songs might not be available due to licensing restrictions
Need help?
- ๐ Report a Bug to original developer
- ๐ฌ Discussions
- ๐ Full Documentation
Before asking for help:
- Check this guide
- Read the Troubleshooting section
- Search existing issues both in Original Project and Translated Project
This is a translation by gomgo-github to allow people who doesn't understand Italian to use it, the original project belongs to tomzdev