Skip to content

Start typing. Errors match on their exact yt-dlp output.

to move, to open esc to close

yt-dlp vs youtube-dl

Tested on yt-dlp 2026.07.28 Updated

Quick answer

youtube-dl still installs and still runs. It just cannot download from YouTube any more, because keeping up with YouTube requires monthly work and youtube-dl's releases are years apart. yt-dlp is the fork that continued, and it accepts the same commands:

everything you already know still works
yt-dlp -f "bv*+ba/b" -o "%(title)s.%(ext)s" "URL"

What actually happened

youtube-dl was the tool, for a decade. In 2020 the RIAA filed a takedown against its GitHub repository; the repository came back a few weeks later, but the interruption cost momentum that never returned. Releases became sparse, then rare.

yt-dlp had already forked, out of a fork, largely over how quickly changes could be merged. When youtube-dl slowed, the contributors were already somewhere else. yt-dlp now ships roughly two dozen releases a year, which is what tracking YouTube costs.

This is not a story about one project being better written. It is about maintenance cadence being the entire product for software of this kind.

Side by side

yt-dlpyoutube-dl
Releases~24 a yearYears apart
Works on YouTube todayYesNo
Sites supported~1,800~1,000, many broken
Default qualityBest video + best audio, mergedBest single file — 360p
SponsorBlockBuilt inNo
Browser cookies--cookies-from-browserExported files only
Format sorting (-S)YesNo
Section downloadsYesNo
Speed on fragmented formatsConcurrent fragmentsSequential
Command syntaxEffectively identical

Migrating

There is no migration, which is the point of the compatibility promise. Install yt-dlp, use your existing commands:

an alias, if muscle memory says youtube-dl
alias youtube-dl='yt-dlp'

Config files transfer too — yt-dlp reads ~/.config/yt-dlp/config, so copying your old youtube-dl.conf across is the whole job.

Two things worth deleting from it while you are there:

  • -f bestvideo+bestaudio/best — yt-dlp does this by default, and its default handles sites that only serve combined files. See format selection.
  • --no-check-certificate — usually carried over from an old workaround, and it disables TLS verification permanently. If you still need it, something else is wrong: see this page.

The one real behavioural difference

youtube-dl's default was the best single file. yt-dlp's default is the best video plus the best audio, merged — which is better, and which means yt-dlp needs ffmpeg installed to do what youtube-dl did without it.

Migrating without installing ffmpeg produces a puzzling outcome: yt-dlp falls back to the best pre-merged file, which is 360p, and the new tool appears worse than the old one. That is the most common post-migration complaint and it is an ffmpeg problem, not a yt-dlp one.

Things yt-dlp added that are worth knowing

Format sorting. -S ranks formats rather than requiring one, so it cannot produce Requested format is not available:

bash
yt-dlp -S "res:1080,vcodec:h264" "URL"

Browser cookies. No export step:

bash
yt-dlp --cookies-from-browser firefox "URL"

SponsorBlock. Built in, no plugin — mark or remove:

bash
yt-dlp --sponsorblock-remove "sponsor,selfpromo" "URL"

Section downloads. Fetch two minutes out of a three-hour stream:

bash
yt-dlp --download-sections "*00:10:00-00:12:00" "URL"

Concurrent fragments. A meaningful speed difference on DASH and HLS:

bash
yt-dlp -N 4 "URL"

Is there any reason to stay on youtube-dl

One, and it is narrow: a frozen environment where a specific old version is known to work against a specific site and nothing is allowed to change. Even then, yt-dlp accepts the same commands, so the argument is about change control rather than about the tool.

For anything involving YouTube, there is no case. The releases are years apart and YouTube is not.

The other forks

youtube-dlc is the intermediate fork yt-dlp came from; it is archived. youtube-dl-nightly and similar are unofficial rebuilds of the original with patches, maintained by individuals, and their coverage is narrower than yt-dlp's. Neither is a reason to look past yt-dlp.

Different tools, rather than forks, are worth knowing about: gallery-dl for images and galleries, streamlink for live streams you want to pipe into a player. Both do things yt-dlp does not, and neither replaces it.

Switching, in one line

Windows
winget uninstall youtube-dl; winget install yt-dlp.yt-dlp Gyan.FFmpeg
macOS
brew uninstall youtube-dl; brew install yt-dlp ffmpeg
Linux
sudo apt remove youtube-dl
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp

Then check that nothing old is left on PATH — two installs is a reliable way to conclude the upgrade did not work:

bash
which -a yt-dlp youtube-dl
yt-dlp --version

Frequently asked

Is youtube-dl dead?
Not formally — the repository exists and occasionally sees a commit. In practice its releases are years apart while YouTube changes monthly, so for downloading from YouTube it does not work, and that is what most people mean by the question.
Do my youtube-dl commands still work?
Yes. yt-dlp keeps youtube-dl's command-line interface deliberately, so almost every command and every config file transfers unchanged. The defaults are better, so several flags people carried around become unnecessary.
Why did youtube-dl stall?
A 2020 takedown request against the repository — later reversed — cost it momentum, and the maintainer capacity never came back. yt-dlp had already forked, and the contributors followed the fork.
Is yt-dlp a drop-in replacement?
Close enough that aliasing youtube-dl to yt-dlp works for most people. The differences are in defaults rather than syntax: yt-dlp merges the best video and audio where youtube-dl took the best single file.