yt-dlp
github.com
What it is
yt-dlp is a free command-line tool for downloading audio and video from online sources. It supports thousands of sites, including YouTube, Bilibili, Dailymotion, Facebook, Vimeo, TikTok and Twitch. Downloads can include playlists, subtitles or batches, with output options spanning video formats such as AVI, FLV, MKV, MOV, MP4 and WebM, and audio formats such as AAC, AIFF, FLAC, MP3, Ogg, Opus and WAV. It runs on Linux, macOS and Windows. Standalone macOS executables require macOS 10.15 or later, while Windows binaries support Windows 8 or later; Linux binaries cover several system and processor variants. The project is a fork of youtube-dl based on the inactive youtube-dlc, and its public repository is licensed under the Unlicense. It supports CPython 3.10+ and PyPy 3.11+, while full YouTube support requires yt-dlp-ejs. Stable releases generally follow a mostly monthly schedule, and versions more than 90 days old display an update warning. Release checksums have SHA-512 and SHA-256 signature files with a GPG public key.
Spec sheet
- Purpose
- yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites.Read 11 Oct 2026 · github.com
- Free plan
- YesRead 20 Sep 2026 · github.com
- License
- The repository is marked Unlicense, while the README explains that some bundled release binaries contain third-party code under other licenses.Read 11 Oct 2026 · github.com
- Batch downloads
- YesRead 20 Sep 2026 · github.com
- Browser cookies
- It can extract cookies from supported browsers, including Brave, Chrome, Firefox, Safari, and Edge.Read 11 Oct 2026 · github.com
- Dependencies
- Python 3.10+ is supported for CPython, and ffmpeg, ffprobe, yt-dlp-ejs, and a supported JavaScript runtime are recommended, with yt-dlp-ejs required for full YouTube support.Read 11 Oct 2026 · github.com
- Device platforms
- Windows,macOS,LinuxRead 20 Sep 2026 · github.com
- Embedding
- The project documents embedding yt-dlp in Python programs through its YoutubeDL interface.Read 11 Oct 2026 · github.com
- Formats
- Its format selection supports choosing and sorting available video and audio formats.Read 11 Oct 2026 · github.com
- Integrity verification
- Release checksums have SHA-512 and SHA-256 signature files with a GPG public key.Read 27 Sep 2026 · github.com
- Linux support
- Provides Linux binaries for glibc, musl, x86_64, aarch64, and armv7l variants.Read 27 Sep 2026 · github.com
- macOS support
- Provides standalone macOS executables for macOS 10.15 or later.Read 27 Sep 2026 · github.com
- Output formats
- avi,flv,mkv,mov,mp4,webm,aac,aiff,alac,flac,m4a,mka,mp3,ogg,opus,vorbis,wavRead 20 Sep 2026 · github.com
- Partial downloads
- Videos can be downloaded partially by timestamps or chapters, and split into multiple files by chapter.Read 11 Oct 2026 · github.com
- Playlist downloads
- YesRead 20 Sep 2026 · github.com
- Playlists
- It supports playlist downloads and configurable output templates and paths for downloaded files.Read 11 Oct 2026 · github.com
- Plugins
- Extractor and postprocessor plugins can be loaded from external files, but the project warns that plugin code is unchecked and should only be trusted if the user trusts its author.Read 11 Oct 2026 · github.com
- Pricing page
- The repository pricing URL returns a page-not-found result.Read 27 Sep 2026 · github.com
- Project origin
- A fork of youtube-dl based on the inactive youtube-dlc.Read 27 Sep 2026 · github.com
- Project type
- A feature-rich command-line audio/video downloader.Read 27 Sep 2026 · github.com
- Python support
- Supports CPython 3.10+ and PyPy 3.11+.Read 27 Sep 2026 · github.com
- Release channels
- Binary releases have stable, nightly, and master channels; the README describes nightly as recommended for regular users and warns master may have bugs or regressions.Read 11 Oct 2026 · github.com
- Release integrity
- The project publishes SHA-256 and SHA-512 checksum files with GPG signature files and provides a public key to verify them.Read 11 Oct 2026 · github.com
- Repository activity
- The repository lists 24,009 commits, 16.8k forks, and 194k stars.Read 27 Sep 2026 · github.com
- Repository visibility
- The GitHub repository is public.Read 27 Sep 2026 · github.com
- Site support
- Supports thousands of sites.Read 27 Sep 2026 · github.com
- SponsorBlock
- It can mark or remove sponsor and other segments in YouTube videos using the SponsorBlock API.Read 11 Oct 2026 · github.com
- Stable schedule
- The stable channel generally publishes releases on a mostly monthly schedule.Read 27 Sep 2026 · github.com
- Subtitle downloads
- YesRead 20 Sep 2026 · github.com
- Supported desktop platforms
- Release files include standalone executables for Windows and macOS, plus Linux binaries and a platform-independent binary that needs Python.Read 11 Oct 2026 · github.com
- Supported sources
- YouTube,Bilibili,Dailymotion,Facebook,Vimeo,TikTok,Twitch,and many other extractorsRead 20 Sep 2026 · github.com
- Version warning
- Versions older than 90 days display a warning suggesting an update.Read 27 Sep 2026 · github.com
- Windows support
- Provides standalone Windows binaries for Windows 8 or later, including x64, x86, and ARM64.Read 27 Sep 2026 · github.com
- YouTube dependency
- yt-dlp-ejs is required for full YouTube support.Read 27 Sep 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Supports thousands of sites.
- Can download playlists, subtitles and batches.
- Runs on Linux, macOS and Windows.
- Offers many video and audio output formats.
- Release checksums include signature files.
Limits
- It is a command-line tool.
- Full YouTube support requires yt-dlp-ejs.
- Standalone macOS executables require macOS 10.15 or later.
- Windows binaries support Windows 8 or later.
Who it suits
yt-dlp suits users comfortable with a command-line tool who need audio or video downloads across supported sites. Its platform binaries and broad output formats may fit users working across Linux, macOS or Windows.
yt-dlp in depth
Read the full write-up
yt-dlp is a command-line downloader for audio and video, best suited to people who want broad source coverage and control over download formats. It is a strong choice for flexible batch and playlist work, provided a command-line workflow and the extra requirement for full YouTube support are acceptable.
Overview
yt-dlp grew from youtube-dl, drawing on the now-inactive youtube-dlc project. Its extractors cover thousands of sites, including YouTube, Bilibili, Dailymotion, Facebook, Vimeo, TikTok and Twitch. That range makes it useful when a single downloader needs to handle varied sources; its command-line design is a meaningful barrier for people who prefer a graphical app.
The project is free, with no paid plans or usage limits stated. Its public repository is marked Unlicense, although some bundled release binaries contain third-party code under other licenses. The project has stable, nightly and master release channels: stable releases generally come about monthly, nightly is recommended for regular users, and master may introduce bugs or regressions. Versions older than 90 days display an update warning.
Key features
Playlist, batch and subtitle downloads extend yt-dlp beyond one-off clips. Configurable output templates and paths help organize saved files, while format selection lets users choose and sort available audio and video formats. Supported outputs include AVI, FLV, MKV, MOV, MP4 and WebM video, alongside AAC, AIFF, ALAC, FLAC, M4A, MKA, MP3, OGG, Opus, Vorbis and WAV audio.
For YouTube, yt-dlp can mark or remove sponsor and other segments through the SponsorBlock API. Users can also download selected timestamps or chapters, split videos into chapter files, and retrieve cookies from supported browsers including Brave, Chrome, Firefox, Safari and Edge. These controls make it capable of handling more deliberate archiving tasks, but they also reward familiarity with command options.
Extractor and postprocessor plugins can be loaded from external files, and yt-dlp can be embedded in Python programs through its YoutubeDL interface. The project warns that plugin code is unchecked, so users should install it only when they trust its author. Full YouTube support requires yt-dlp-ejs; ffmpeg, ffprobe and a supported JavaScript runtime are also recommended. The extra setup is a trade-off for users who want the broadest functionality.
Pricing
The Free software plan costs nothing and includes yt-dlp without stated usage limits or paid tiers. There is no free trial because the software is free to use. This suits users comfortable managing a command-line tool; there is no lower paid tier to weigh against a premium plan, but people seeking a supported graphical workflow should consider a different interface.
Platforms
yt-dlp supports Windows, macOS, Linux and self-hosted use. Standalone Windows binaries support Windows 8 or later in x64, x86 and ARM64 variants; macOS executables support macOS 10.15 or later. Linux binaries cover glibc and musl, with x86_64, aarch64 and armv7l variants. A platform-independent binary requires Python. The project supports CPython 3.10+ and PyPy 3.11+.
Binary releases include stable, nightly and master channels. Release checksums are provided for SHA-256 and SHA-512 with GPG signature files and a public key, giving technically inclined users a way to verify downloads.
Who it's for
Choose yt-dlp if you are comfortable with commands and want one free tool for diverse sites, format selection, playlists, subtitles or batch jobs. Its Python interface also makes it a fit for developers embedding downloads in programs. Look elsewhere if you need a graphical desktop workflow without command-line setup, or if you want full YouTube support without installing yt-dlp-ejs.
Pros and cons
Pro: Broad extractor coverage and a wide range of output formats make it adaptable across sources and media types.
Pro: Playlist, batch, subtitle, chapter and partial-download support gives users control over larger or more selective jobs.
Pro: Free software with no stated usage caps and binaries for major desktop platforms keeps the cost and platform choice straightforward.
Con: The command-line workflow is a poor fit for users who expect a point-and-click downloader.
Con: Full YouTube support depends on yt-dlp-ejs, with ffmpeg, ffprobe and a supported JavaScript runtime recommended for setup.
Con: External plugin code is unchecked, so adding plugins brings a trust decision users must make themselves.
Alternatives
For a graphical desktop app built around yt-dlp, consider yt-dlp app, which is free on Windows, macOS and Linux and says it includes no telemetry or tracking. If a self-hosted downloader with web and mobile platform support is a better fit, MeTube is free and has no paid plans listed.
4K Video Downloader+ is worth considering for readers who want a freemium option with a free trial, a permanent basic-feature tier and support for Android as well as desktop platforms. DownSnap may suit readers who want a free option with no download limits and no sign-up, across web, mobile and desktop platforms. For a free browser extension option, compare OmniGet, which has no ads, account or paid plan.
Other options include SSvid, NeoDLP and Yalla Video.
Browse the video downloaders directory for more choices.
Verdict
yt-dlp is the right pick for command-line users who want broad site support, detailed format control and capable playlist or batch downloads without paying. Choose another tool if a graphical workflow is essential, or if you want full YouTube support without handling its required yt-dlp-ejs dependency.
Verdict
yt-dlp offers broad source, download and format support across three desktop platforms, with no listed price. Users should account for its command-line workflow and the yt-dlp-ejs requirement for full YouTube support.
Where Specifiction places it
- Video Downloaders#5 of 1359.0
- Command Line Tools#11 of 278.1