How to Batch-Download an Entire YouTube Playlist (Without Sitting There Clicking)
Save 50 videos in one go: paste the playlist URL, hit Start, walk away. The honest guide to what works on the web, what needs a desktop tool, and why YouTube fights it.
Why batch a YouTube playlist?
There's a difference between "I want to save this one video" and "I want to archive this 80-episode podcast." The first is a 30-second job. The second, done one video at a time, is an afternoon you'll never get back.
Common reasons people want batch playlist downloads:
This guide is about doing it without losing your mind.
The honest constraint: YouTube doesn't want you to
YouTube's Terms of Service technically don't permit downloading without their app's offline feature (which is Premium-only and locks files to their player). Tools like yt-dlp work because YouTube exposes video URLs to its own player — but YouTube actively makes those URLs short-lived, IP-bound, and obfuscated.
What that means in practice:
A good batch tool handles all three. A bad one (or doing it manually) hits all three walls.
Method 1: One-at-a-time on the web (free, slow)
Open Savio in your browser:
This works for small playlists (3-5 videos). For 50 videos, it's a couple of hours of mindless clicking. You also have to keep the tab open per download.
**When to use this:** one-off, small set, you're at the computer anyway.
Method 2: Savio Desktop batch queue (coming soon)
This is what we actually built the desktop app for. The workflow:
6. Pick quality (1080p is usually fine; 4K is bigger files)
7. Hit **Start queue** and walk away
The queue runs sequentially. Each video resolves, downloads, moves to the next. The app stays running, the Mac stays awake, and you come back to a folder full of MP4s — properly named after the video titles, with the audio and video already merged at whatever resolution you picked.
Why sequential instead of parallel? Two reasons:
**When to use this:** 10+ videos, you want to walk away, you want the files saved with real titles.
Method 3: Direct yt-dlp on the command line (free, technical)
If you're comfortable with the terminal:
```
brew install yt-dlp ffmpeg
yt-dlp -f "bv*[height<=1080]+ba/b[height<=1080]" \
--merge-output-format mp4 \
-o "%(playlist_index)s - %(title)s.%(ext)s" \
"https://www.youtube.com/playlist?list=PLxxxxxxxxxx"
```
That command downloads the entire playlist in 1080p, names files by playlist position, and merges video+audio into proper MP4. It's exactly what Savio Desktop will run under the hood — a GUI for this is on the way.
**When to use this:** you live in the terminal, you don't mind diagnosing yt-dlp updates yourself, you want zero dependencies on third-party tools.
What can go wrong
Even with a batch tool, expect some friction. Real situations:
Practical playlist sizes vs file sizes
Rough math for a typical 10-minute-per-video playlist:
| Videos | 720p (~50MB ea) | 1080p (~150MB ea) | 4K (~500MB ea) |
|---|---|---|---|
| 10 | 500 MB | 1.5 GB | 5 GB |
| 50 | 2.5 GB | 7.5 GB | 25 GB |
| 200 | 10 GB | 30 GB | 100 GB |
If you're archiving a podcast (audio matters, video doesn't), drop to 360p or extract audio only — you'll save 80% of the disk.
What about playlist metadata?
Savio Desktop (coming soon) will save files with their video titles. If you want more — playlist position, channel name, upload date, description — yt-dlp on the command line gives you finer control:
```
-o "%(playlist_index)03d - %(uploader)s - %(title)s.%(ext)s"
--write-info-json
--write-thumbnail
--write-subs
```
That'll dump JSON metadata, thumbnails, and subtitles alongside each video. Useful for serious archiving. Overkill for "I just want the videos."
Get started
Pick the method that matches your situation:
Either way, do it before YouTube changes the rules again — which they do, roughly every six months.