Skip to main content

Overview

yt-dlp can be installed using binaries, pip, or third-party package managers. Choose the method that works best for your platform and use case.
Python versions 3.10+ (CPython) and 3.11+ (PyPy) are supported. For the best experience, we recommend using Python 3.10 or later.
The easiest way to install yt-dlp is using pip. This method works on all platforms and keeps the tool updated.
1

Install or upgrade yt-dlp

python -m pip install -U yt-dlp
On some systems, you may need to use python3 or py instead of python.
2

Verify installation

Check that yt-dlp is installed correctly:
yt-dlp --version
You should see the version number printed to the console.

Platform-specific binaries

Standalone executables are available for Windows, macOS, and Linux. These don’t require Python to be installed.

Windows (x64)

Download the standalone executable for Windows:
1

Download the executable

Download yt-dlp.exe (Windows 8+ x64)Alternative downloads:
2

Place in your PATH (optional)

For easier access, place the executable in a directory that’s in your PATH, such as C:\Windows\System32 or add a custom directory to your PATH.
3

Run from command prompt

Open Command Prompt or PowerShell and run:
yt-dlp --version
The PyInstaller-bundled executables include GPLv3+ licensed code. The combined work is licensed under GPLv3+.

Package managers

yt-dlp is available in several third-party package managers:
sudo pacman -S yt-dlp
Distribution packages may be outdated. For the latest version, use pip or binaries.
brew install yt-dlp
choco install yt-dlp
nix-env -i yt-dlp
Third-party package managers may not have the latest version. For critical bug fixes or new features, consider using pip or downloading the latest binary.

Updating yt-dlp

yt-dlp has a built-in update mechanism for binaries and supports multiple release channels.

Update release binaries

If you installed using the release binaries:
yt-dlp -U
This updates to the latest version of your current channel (stable by default).

Update pip installations

If you installed with pip, re-run the installation command:
python -m pip install -U yt-dlp
For nightly releases:
python -m pip install -U --pre "yt-dlp[default]"

Release channels

yt-dlp has three release channels:
Stable (default) - Tested releases with many changes validated by nightly users.
# Binaries update to stable by default
yt-dlp -U

Switch channels or downgrade

You can switch channels or downgrade to specific versions:
yt-dlp --update-to nightly
When running a yt-dlp version older than 90 days, you’ll see a warning suggesting to update. Use --no-update to suppress this warning.

Dependencies

While most dependencies are optional, some are highly recommended for full functionality.
Required for merging video and audio files, format conversion, and post-processing.Installation:
sudo apt install ffmpeg
yt-dlp also provides custom FFmpeg builds with patches for known issues.
You need the ffmpeg binary, not the Python package of the same name.
Required for full YouTube support. Install a JavaScript runtime:Then install yt-dlp-ejs:
# yt-dlp-ejs is bundled in release binaries
# For pip installations, it's installed with default extras
python -m pip install -U "yt-dlp[default]"

Optional dependencies

For specific features, you may want to install:
  • certifi - Mozilla’s root certificate bundle
  • brotli or brotlicffi - Brotli compression support
  • websockets - WebSocket downloads
  • requests - HTTPS proxy and persistent connections
  • curl_cffi - Browser impersonation (included in most binaries)
  • mutagen - Embed thumbnails in audio files
  • AtomicParsley - Embed thumbnails in MP4/M4A
  • pycryptodomex - Decrypt AES-128 HLS streams
Most optional dependencies are included in the [default] extras:
python -m pip install -U "yt-dlp[default]"

Verify dependencies

To see all currently available dependencies:
yt-dlp --verbose
This displays loaded dependencies at the top of the output.

Next steps

Quick start

Download your first video with yt-dlp

Configuration

Set up configuration files for default options

Build docs developers (and LLMs) love