Installing yt-dlp on Windows using PowerShell takes just a few minutes when you use the right package manager and commands. If you're tired of clunky web-based video downloaders filled with intrusive ads and speed limits, yt-dlp is the open-source alternative you need. It's an active fork of youtube-dl with faster download speeds, regular bug fixes, and support for thousands of video-sharing platforms.
Setting it up correctly on Windows requires installing the command-line utility, placing it in your system path, and installing FFmpeg so you can merge separate video and audio streams into standard MP4 or MKV files. This guide walks through the exact installation steps, configuration best practices, and common troubleshooting tips.
Prerequisites for Windows
Before opening your terminal, you need to make sure your Windows environment is ready. While yt-dlp runs on Windows 10 and Windows 11 without major issues, you need two companion tools for a frictionless experience: winget (the Windows Package Manager) and FFmpeg.
Using winget is much safer and easier than downloading random executable files from unverified mirrors. It downloads the binary directly from official repository releases and handles system path updates automatically.
Installing FFmpeg for Media Merging
YouTube and many other platforms stream high-definition video and audio as separate tracks. If you try to download a 4K video without FFmpeg installed, yt-dlp will save them as separate files or fail entirely.
- Open PowerShell by pressing the Windows key, typing
powershell, and hitting Enter. - Run the following command to install FFmpeg via winget:
winget install Gyan.FFmpeg - Restart your PowerShell window so the environment variables refresh and recognize the new path.
You can verify FFmpeg installation by typing ffmpeg -version in your terminal. If it returns version information instead of an error, you're ready to proceed.
Installing yt-dlp via PowerShell
With your package manager ready, installing yt-dlp takes a single command. You don't need to manually fiddle with Python environments or pip unless you prefer a Python-specific installation.
Step-by-Step Installation
- Launch PowerShell with standard user permissions (administrator rights aren't strictly required if you install it for your user profile).
- Execute the official installation command using winget:
winget install yt-dlp.yt-dlp - Close and reopen your terminal window to ensure the command is loaded into your user path.
- Verify the installation by typing:
yt-dlp --version
The terminal should output the current release date version string, such as 2026.03.03. If it does, the installation was successful.
Alternative Manual Installation
If winget isn't available on an older corporate machine or restricted Windows build, you can install yt-dlp manually:
- Create a dedicated folder on your computer, such as
C:\Tools. - Download the
yt-dlp.exebinary directly from the yt-dlp GitHub Releases page. - Move the downloaded executable into
C:\Tools. - Add
C:\Toolsto your Windows System Environment Variables under the Path variable so you can run it from any folder.
Essential yt-dlp Commands for Daily Use
Once installed, yt-dlp offers immense flexibility through command flags. You can download single clips, full playlists, or extract audio tracks with exact bitrate controls.
Downloading a Standard Video
To download a video in its highest possible quality, open PowerShell, navigate to your target download directory using cd, and run:
yt-dlp "[https://www.www.youtube.com/watch?v=EXAMPLE_ID](https://www.www.youtube.com/watch?v=EXAMPLE_ID)"
By default, yt-dlp automatically selects the best video and audio streams, passes them through FFmpeg, and outputs a combined file in your current folder.
Extracting Audio as MP3
If you only want the audio track from a lecture or music video, you can instruct yt-dlp to extract and convert it on the fly:
yt-dlp -x --audio-format mp3 --audio-quality 0 "URL_HERE"
The -x flag tells the utility to extract audio, --audio-format mp3 handles the conversion, and --audio-quality 0 ensures variable bitrate encoding uses the highest quality setting available.
Downloading Complete Playlists
You can download entire public playlists or channels without writing custom scripts. yt-dlp handles indexing automatically:
yt-dlp --yes-playlist --output "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "PLAYLIST_URL"
This command creates a folder named after the playlist and saves each file neatly numbered in order.
Updating and Maintaining yt-dlp
Streaming platforms frequently update their internal site architectures to block scrapers. Because of this cat-and-mouse game, yt-dlp releases frequent updates to maintain compatibility.
Keeping your tool updated prevents sudden download failures. If you installed via winget, you can update all your command-line tools at once by running:
winget upgrade yt-dlp.yt-dlp
Alternatively, yt-dlp has a built-in self-update mechanism. You can update the executable directly from within PowerShell by running:
yt-dlp -U
Common Troubleshooting Mistakes
Even with a clean installation, users often run into a few recurring hiccups when starting out with command-line downloaders.
- URL Parsing Errors: Always enclose your video URLs in double quotes (
"). PowerShell treats certain characters like&as command separators, which breaks links unless they are wrapped in quotes. - Missing FFmpeg Warnings: If your downloads complete rapidly but only output video without sound, FFmpeg is either missing from your system path or not installed. Reinstall FFmpeg and restart your terminal.
- Geo-Restriction Issues: If a video is locked to a specific region, you can pass proxy flags or use cookie integration parameters to authenticate with your account credentials.
Frequently Asked Questions
Do I need Python installed on Windows to use yt-dlp?
No. When you install yt-dlp using winget or download the standalone yt-dlp.exe binary, it runs as a self-contained executable. You only need Python if you prefer installing packages through pip.
Where do my downloaded videos go by default?
Files save directly to the folder where your PowerShell session is currently pointed. You can check your current working directory in PowerShell by looking at the file path displayed before the cursor, or change it using the cd command followed by your folder path, like cd C:\Users\Username\Downloads.
Can yt-dlp download videos from websites other than YouTube?
Yes. yt-dlp supports hundreds of different websites, including Vimeo, Dailymotion, Reddit, and various educational media portals. If a site streams video over standard web protocols, yt-dlp can usually parse and download it.
How do I select a specific video resolution like 1080p?
By default, yt-dlp picks the absolute best format. If you want to restrict the maximum resolution to save disk space or bandwidth, use the format selector flag: yt-dlp -f "bv*[height<=1080]+ba/b[height<=1080]" "URL".