Skip to content
yt-dlp

Install yt-dlp on Windows

Install yt-dlp and ffmpeg on Windows with winget, Scoop or a plain download, and fix the PATH errors that follow.

1. Install yt-dlp

winget ships with Windows 10 and 11 and handles the PATH for you, which is the part people get wrong when installing by hand.

winget install yt-dlp.yt-dlp

If you already use Scoop or Chocolatey, either is equally fine:

scoop install yt-dlp
choco install yt-dlp

The manual route is a single yt-dlp.exe from the official releases page. Put it in a folder that is on your PATH — dropping it on the Desktop works only while your terminal happens to be in that folder, which is the usual cause of "yt-dlp is not recognized".

2. Install ffmpeg

yt-dlp downloads without ffmpeg, but everything interesting needs it: merging separate video and audio, MP3 extraction, embedding subtitles or thumbnails, cutting sections. Install it now rather than after the first confusing failure.

winget install Gyan.FFmpeg

3. Check it worked

Open a new terminal — an existing one still has the old PATH — and run:

yt-dlp --version
ffmpeg -version

Two version numbers means you are done.

Quoting on Windows

PowerShell and cmd do not quote the way bash does, and a command copied from a Linux-oriented tutorial often breaks for exactly this reason. In PowerShell, single quotes are literal — the safest choice for a format selector or an output template. In cmd, use double quotes. In a .bat file, every % must be doubled.

yt-dlp -o '%(title)s.%(ext)s' URL     # PowerShell
yt-dlp -o "%(title)s.%(ext)s" URL     # cmd
yt-dlp -o "%%(title)s.%%(ext)s" URL   # inside a .bat file

The generator's shell switch produces the right form for each of these, so you can copy without translating.

Updating

A standalone yt-dlp.exe updates itself with yt-dlp -U. Installed via winget, Scoop or Chocolatey, update it through the same tool — self-update will refuse, because the package manager owns the file.

Frequently asked questions

Windows says yt-dlp is not recognized. Why?
The executable is not on your PATH, or the terminal was open before it was installed. Open a new terminal first; if that does not help, install through winget or Scoop, which handle the PATH for you.
yt-dlp cannot find ffmpeg on Windows.
Install it with winget install Gyan.FFmpeg, open a new terminal and check with ffmpeg -version. Putting ffmpeg.exe in the same folder as yt-dlp.exe also works.
How do I update yt-dlp?
A standalone binary updates itself with yt-dlp -U. Installed through a package manager, update it with that manager instead; self-update refuses to modify a file it does not own. Updating fixes more problems than any single flag.