Skip to content
SPECIFICTION
Get listed

yt-dlp

github.com

Free plan WindowsmacOSLinuxSelf-hosted
Visit github.com
Spec score 9.0 #5 of 135 in Video Downloaders

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

Free software Free No paid plans or usage limits stated Read 11 Oct 2026 · github.com

Every yt-dlp plan and price →

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

Alternatives to yt-dlpAll alternatives →