Skip to content

About

A web application to migrate playlists, saved tracks, and followed artists between Spotify accounts by tomzdev but with User Interface translated to English and minor fixed

Resources

Stars

0 stars

Watchers

0 watching

Forks

ย 
ย 

Latest commit

ย 

History

34 Commits

Folders and files

Repository files navigation

๐ŸŽต Spotify Migration Tool

Spotify Migration Tool Version License

๐Ÿš€ Easily migrate playlists, saved tracks, and followed artists between different Spotify accounts

A modern and secure web app to transfer your music library


๐Ÿ“‹ Index


โœจ Features

๐Ÿš€ Key Features

  • โœ… 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

๐ŸŽฏ What You Can Migrate

๐ŸŽต Playlists

  • โœ… All playlists (public and private)
  • โœ… Original names and descriptions
  • โœ… Track order preserved
  • โœ… Custom playlist images

๐Ÿ’š Saved Tracks

  • โœ… All "Liked" songs
  • โœ… Over 10,000 tracks supported
  • โœ… Automatic duplicate checking
  • โœ… Smart batch handling

๐Ÿ‘จโ€๐ŸŽค Followed Artists

  • โœ… All followed artists
  • โœ… Optimized batch migration
  • โœ… Automatic duplicate detection
  • โœ… Fast and reliable process

๐Ÿš€ Installation & Setup

๐Ÿ“‹ Prerequisites

You will need:

  • Node.js (LTS version): Download here
  • Two Spotify accounts (free or premium)
  • A Spotify App in the Developer Dashboard

๐ŸŒŸ Step 1: Download the App

Method 1 - Download ZIP:

  1. Visit https://github.com/gomgo-github/spotify-migration-tool-english
  2. Click "Code" โ†’ "Download ZIP"
  3. 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

๐ŸŽต Step 2: Configure Spotify App

โš ๏ธ IMPORTANT: This is the most critical step!

2.1 Create the Spotify App

  1. Go to: Spotify Developer Dashboard
  2. Log in with any Spotify account
  3. Click on "Create app"

2.2 Configure the 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 โฌ‡๏ธ

2.3 Add Redirect URIs

๐Ÿ”‘ CRUCIAL: Add EXACTLY these two URIs:

  1. http://[::1]:5000/api/auth/source/callback
  2. http://[::1]:5000/api/auth/destination/callback

2.4 Get the Credentials

  1. Save the app
  2. Go to "Settings"
  3. Copy the Client ID and Client Secret

2.5 Add Test Users

  1. Go to "User Management"
  2. Add the email of the source account
  3. Add the email of the destination account

โš™๏ธ Step 3: Local Configuration

3.1 Install Dependencies

# Install backend dependencies
npm install

# Install frontend dependencies and build
cd client
npm install
npm run build
cd ..

3.2 Configure Environment

(Recommended) Quick method:

  1. Copy the config-example.env file
  2. Rename it to .env
  3. 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=5000

๐Ÿš€ Step 4: Start the App

npm start

Expected output:

๐Ÿš€ Server started on port 5000
๐ŸŽต Spotify Migration Tool ready!
๐ŸŒ Open: http://[::1]:5000

Open your browser at: http://[::1]:5000


๐ŸŽฎ How to Use the App

๐Ÿ  Main Interface

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 ]

1๏ธโƒฃ Connect Source Account

  1. Click on "Connect Source Account"
  2. Log in with the account you want to copy from
  3. Authorize the app

2๏ธโƒฃ Connect Destination Account

  1. Click on "Connect Destination Account"
  2. โš ๏ธ IMPORTANT: If you see the previous account, click "Not you?"
  3. Log in with the destination account
  4. Authorize the app

3๏ธโƒฃ Start Migration

  1. Click on "Start Migration"

  2. Choose what to migrate:

    • โ˜‘๏ธ Playlists
    • โ˜‘๏ธ Saved Tracks
    • โ˜‘๏ธ Followed Artists
  3. Click "Start Migration"

๐Ÿ“Š Progress Monitoring

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

๐Ÿ› ๏ธ Troubleshooting

๐Ÿ”ด Common Errors

โŒ "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/callback
    • http://[::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 .env file (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 ..

๐ŸŸก Non-Critical Warnings

โš ๏ธ "Source and destination accounts are the same"

  • Not critical, but pointless to migrate between the same account

โš ๏ธ "Some tracks could not be migrated"

  • Normal for tracks unavailable in your region or removed from Spotify

โ“ FAQ

โ“ 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

๐Ÿ†˜ Support

Need help?

Before asking for help:

  1. Check this guide
  2. Read the Troubleshooting section
  3. 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

About

A web application to migrate playlists, saved tracks, and followed artists between Spotify accounts by tomzdev but with User Interface translated to English and minor fixed

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages