A tool to convert your playlists across platforms!
Convert a Spotify playlist, SoundCloud playlist, or individual songs into a YouTube playlist and download songs as MP3 (320 kbps).
⚠️ For legitimate personal use only: digitizing your own CD collection, etc. You assume responsibility for having rights to the music you download. The author does not condone piracy and prohibits the use of this software with malicious intent.
- 🔍 Fetch tracks directly from Spotify, Soundcloud or Youtube
▶️ Generate a YouTube playlist automatically- ⬇️ Download tracks as MP3 (320 kbps)
- ✅ Select/deselect, Pause/resume songs before downloading
- 📂 Organized output by playlist name
The tool counts with some features that make managing lots of songs the easiest feat possible. As YouTube Search isn't 100% accurate, clicking the name of a track will open up the search picker, where you can search, select other videos... The credentials are stored in the program, you can view them in Settings (YOU HAVE TO PROVIDE THESE CREDENTIALS FOR DUPLIIST TO FUNCTION, READ BELOW) You are able to download tracks onto a folder with your Playlist's name. By default, its downloaded in
/DUPLiiST/''Playlist_name''These tracks, are downloaded at 320kbps, and include every possible metadata available for that song, such as Cover Art (Video cover if from Youtube), Artist, Song Name, Album, Track Number, Etc...
If you don't have it installed:
winget install Python.Python.3.12Restart your terminal afterward.
winget install ffmpegRestart your terminal so it's added to your PATH.
Verify installation:
ffmpeg -version-
Extract or clone this folder to your desired location.
-
Open PowerShell in that folder (Shift + right-click → "Open PowerShell window here").
-
(Optional but recommended) Create a virtual environment:
python -m venv venv .\venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Launch the app:
python main.py
Spotify requires free credentials to read public playlists via their API.
- Go to developer.spotify.com/dashboard and sign in.
- Click Create app:
- App name: anything you want (e.g., MyDigitizedCDs).
- App description: anything.
- Redirect URI: set to
http://127.0.0.1:8888/callback(not used, but required). - Accept the terms and create.
- In your created app → Settings. Copy the Client ID and click View client secret to copy the Client Secret.
- In the app, click ⚙ Settings and paste both values. Save.
Done! You only need to do this once.
- Copy the URL of any public Spotify/SoundCloud playlist or any song from any of these 3 platforms (share button → copy link).
- Paste it in the main field of the app.
- Click 🔍 Search — the app fetches songs from the platform and searches for each one on YouTube.
- Check/uncheck songs with the checkboxes (all selected by default).
- Choose:
- 🎬 Open as playlist on YouTube: opens a temporary playlist in your browser (max 50 videos per URL — YouTube limitation).
- ⬇ Download selected: downloads MP3s at 320kbps with all metadata to your configured folder.
Downloads are saved in a subfolder named after the playlist.
To come around the 50 video limitation issue, the tool now divides your playlist into chunks of 50 songs, and creates 50 song playlists until it covers all songs. If the song/video isn't the one you were searching for, click on the song/video name and Search deeper to find your exact match.
| Issue | Solution |
|---|---|
| "FFmpeg not found" | Install it with winget install ffmpeg and restart the app. |
| "Spotify error: Invalid client" | Check your Client ID and Client Secret in Settings (no extra spaces). |
| "Playlist contains no songs" | The playlist must be public. Private playlists require OAuth (not implemented). |
| Some song has no match | Normal with rare tracks or unusual titles. Only matching songs will be downloaded. |
| Download fails for a specific song | Could be age or region restrictions. Other songs will still download. |
DUPLiiST_Main/
├── main.py # The app
├── requirements.txt # Python dependencies
└── README.md # This file
├── splash.py # Splash Credit Screen
Configuration (credentials and folder) is saved at:
C:\Users\<YourUsername>\.DUPLiiST_Config.json
This tool automates actions that you could perform manually. You are responsible for respecting the terms of service of Spotify/YouTube and the copyright of the material you download. Use responsibly. The author doesent intend for this software to be used for piracy, and prohibits these behaviours.
This project is provided as-is for personal use only. Not for commercial-use. All rights reserved to @erektc
For issues or questions, open an issue on the repository.