YouTube Playlist Downloader & Archiver
Fast, lightweight local Web UI & CLI to archive public, unlisted, and private YouTube playlists as high-quality MP3, M4A, or Opus audio files with metadata and album art.
⚡ Quick Start
1. Prerequisites (Windows PowerShell)
winget install Gyan.FFmpeg DenoLand.Deno
(Requires Python 3.11+ and uv)
2. Install & Run
Option A: Run from anywhere with uv tool (Zero cloning)
uv tool install git+https://github.com/tahsinsoyak/youtube-playlist-download.git
youtube-playlist-download ui
Option B: Clone & run (or double-click run.bat on Windows)
git clone https://github.com/tahsinsoyak/youtube-playlist-download.git
cd youtube-playlist-download
uv run youtube-playlist-download ui
Your browser will automatically open at http://127.0.0.1:8765.
🔒 Private Playlists (Liked Videos, Watch Later)
Download your private and unlisted playlists safely on your own machine:
- Sign in to YouTube in your browser (Firefox recommended on Windows).
- Select your browser in the Web UI session dropdown.
- Paste URL & download — in-memory session access only, zero cookies on disk, 100% localhost.
🖥️ Command-Line Interface (CLI)
Prefer the terminal? Run downloads directly:
# Public playlist (MP3, best quality)
uv run youtube-playlist-download download "PLAYLIST_URL" --confirm-rights
# Private playlist via Firefox session
uv run youtube-playlist-download download "PLAYLIST_URL" --browser firefox --confirm-rights
# Specific tracks & format (Opus, items 1 to 10)
uv run youtube-playlist-download download "PLAYLIST_URL" --audio-format opus --playlist-items "1:10" --confirm-rights
✨ Highlights
- Local Web UI & CLI: Zero heavy build steps; runs on pure HTML5/CSS3/ES6 and fast Typer CLI.
- Dark & Light Themes: Tactile cassette-deck dark mode and crisp studio light paper mode.
- Folder Reveal & Copy Path: One-click button in the UI to open downloaded folders or copy the path.
- Sequential Queue: FIFO queue processes one playlist at a time to prevent YouTube rate-limiting.
- Smart History & Clean-up: Review recent download outcomes and clear history with one click.
- Audiophile Audio & Tags: High-quality VBR encoding, embedded ID3 tags, and album cover art.
- Duplicate Prevention: Automated download archive (
.playlist-audio-archive.txt) skips existing tracks. - Crash Resilience: Queue state persists locally across app restarts.
📚 Documentation
- CLI Options & Advanced Usage
- Web UI Guide
- Private Playlists & Troubleshooting
- Audio Quality & Codecs
- Legal & Fair-Use Boundaries
💖 Support the Project
If this project helps you archive and organize your music library, consider supporting ongoing maintenance and updates:
📄 License
MIT License. See LICENSE for details.
Metadata
Release files for youtube-playlist-download 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| youtube_playlist_download-0.2.0.tar.gz | 5.0 MB | Without provenance | Details for youtube_playlist_download-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| youtube_playlist_download-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for youtube_playlist_download-0.2.0-py3-none-any.whl |
Total release size: 5.1 MB
Release files / youtube_playlist_download-0.2.0.tar.gz
| Download URL | youtube_playlist_download-0.2.0.tar.gz |
|---|---|
| Size | 5.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b8fa0b543d4e9a2b17f1cae1a83c25a2f6fc986209286ac7ecbcbdda2e6be003
|
|
BLAKE2b-256 checksum How to use checksums |
8a806f0119f21c6803cbd308e230014a7bbffa8c345958c2f1cc41e5e5ca3a98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / youtube_playlist_download-0.2.0-py3-none-any.whl
| Download URL | youtube_playlist_download-0.2.0-py3-none-any.whl |
|---|---|
| Size | 44.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed8329c45ef2615d1b011c4d67ac0d3013c8957e27574cfc545ec3b2223c96a9
|
|
BLAKE2b-256 checksum How to use checksums |
cf52c899ffb83099688f992053b4099335de1ae2f0f3d83adc958af443809149
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for youtube-playlist-download 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.