Commands guide
How to download YouTube Shorts with yt-dlp
A Short is a regular YouTube video in a vertical wrapper. There is no special format, no separate backend, and nothing to convert — yt-dlp accepts the /shorts/ URL directly and treats it like any other video. Every flag you already know keeps working.
Quick answer
yt-dlp "https://www.youtube.com/shorts/VIDEO_ID"Paste the Shorts URL as-is. yt-dlp resolves it to the underlying video and downloads the best available quality by default. No URL rewriting to /watch?v= is needed.
Quality and format
yt-dlp -f "bv*[height<=1080]+ba/b" "https://www.youtube.com/shorts/VIDEO_ID"Shorts are vertical (9:16), and height-based selectors work exactly as they do for normal videos — just remember that heightmeans literal pixel height, which is the long side here. A Short YouTube labels "1080p" is 1080x1920, so height<=1080 caps you at a mid-quality rendition; use height<=1920 or width<=1080 when you want the full-quality vertical stream. If you need MP4 output for compatibility, add --remux-video mp4 to rewrap the download without re-encoding.
Download all Shorts from a channel
yt-dlp --download-archive archive.txt "https://www.youtube.com/@handle/shorts"Pointing yt-dlp at a channel's Shorts tab treats it as a playlist and grabs every Short on it. The --download-archive flag records each finished video ID in archive.txt, so re-running the same command only fetches Shorts published since the last run. Add an output template to keep the files organized per channel instead of dumped into one folder.
Common problems
- • Age or region restrictions behave exactly like they do on normal videos. If a Short needs a signed-in session, pass browser cookies — see the YouTube guide for the cookies setup.
- • Formats look missing or capped at low quality? Update yt-dlp first with
yt-dlp -U. YouTube changes break old builds regularly, and Shorts hit the same extractor as everything else.
The mistake to avoid
Do not re-download an entire channel's Shorts tab on every run. Without --download-archive, each rerun re-fetches hundreds of videos you already have, wastes bandwidth, and looks like abusive traffic to YouTube. One archive file per channel makes reruns cheap and safe.
Recurring sources
Pulling from the same sources on repeat?
Paste a link to preview what a maintained import API returns for it — across 500+ platforms.