Download your Spotify playlists, albums, and tracks for free!
This C# application takes a Spotify link (album, playlist, or track) and downloads the corresponding audio directly from YouTube using YoutubeDLSharp, converting it with ffmpeg.
flowchart LR
A[Spotify Link: Playlist, Album, or Track] --> B[Extract Track Information]
B --> C[Search YouTube for Matches]
C --> D[Download Audio via yt-dlp]
D --> E[Convert to MP3 with ffmpeg]
E --> F[Save to ./music/ Directory]
- 🔗 Paste a Spotify link (playlist / album / track) and let the app do the rest
- 🎶 Downloads full playlists, albums, or single tracks
- 🎵 Converts audio to MP3 format using
ffmpeg - 🚀 Built with .NET 9 for modern performance
- 🖥 Cross-platform support: Windows, macOS, Linux
- 📁 Organizes downloads in a local
musicdirectory - 🔍 Multiple extraction methods for maximum compatibility
- 📊 Real-time progress tracking and colored console output
Only requirement: Install ffmpeg
- macOS:
brew install ffmpeg - Windows: Download from ffmpeg.org and add to PATH
- Linux:
sudo apt install ffmpeg
Then:
- Go to Releases
- Download the executable for your OS
- Run it!
Requirements:
Install dependencies:
- macOS:
brew install yt-dlp ffmpeg - Windows:
pip install yt-dlp+ download ffmpeg from ffmpeg.org - Linux:
pip install yt-dlp && sudo apt install ffmpeg
Build and run:
git clone https://github.com/Daniel-191/Spotify-Downloader-cs
cd Spotify-Downloader-cs
dotnet restore
dotnet run- Run the application
- Paste a Spotify URL when prompted:
https://open.spotify.com/track/...(single song)https://open.spotify.com/album/...(full album)https://open.spotify.com/playlist/...(playlist)
- Press Enter and wait for downloads to complete
- Find your MP3 files in the
./music/folder
- ✅ Windows (with .NET 9)
- ✅ macOS (with .NET 9)
- ✅ Linux (with .NET 9)
The application automatically detects system paths for:
- macOS:
/opt/homebrew/bin/yt-dlpand/opt/homebrew/bin/ffmpeg - Windows:
yt-dlp.exeandffmpeg.exe(from PATH)
You can modify the paths in Program.cs if your installation locations differ.
spotify-downloader-cs/
├── Program.cs # Main application logic
├── spotify-downloader-cs.csproj # Project configuration (.NET 9 + YoutubeDLSharp)
├── music/ # Downloaded audio files (created automatically)
└── README.md # This file
- Multiple Extraction Methods: Uses oEmbed API, embed pages, direct pages, and manual input as fallbacks
- Smart Regex Parsing: Advanced pattern matching to extract track and artist information
- JSON Data Processing: Parses embedded JSON data for accurate track extraction
- Error Handling: Comprehensive error handling with colored console feedback
- Progress Tracking: Real-time download progress with formatted output
- Dependency Checking: Automatic verification of required tools (ffmpeg, yt-dlp)
- YoutubeDLSharp Integration: Uses the YoutubeDLSharp C# wrapper for seamless yt-dlp integration
Warning
This project is for educational purposes only.
Please support artists by streaming legally on Spotify.
This project is provided as-is for educational purposes. Please respect copyright laws and support artists through official channels.