Skip to content
Compare

What Is yt-dlp and Is It Safe to Use?

In short

yt-dlp is a free, open-source command-line program that downloads video and audio from YouTube and thousands of other sites. Its maintainers develop it in public on GitHub under the Unlicense. The tool is safe when you get it from the official project, and legality depends on what you download. B-ROLL runs yt-dlp for you.

Part of Ways to Download YouTube Videos, Compared

On this page

What does yt-dlp do?

yt-dlp is a free, open-source command-line program that downloads video and audio from YouTube and many other sites. You give yt-dlp a link and a few typed options; it finds the streams the site offers, fetches the ones you asked for and writes them to disk.

The yt-dlp README describes a downloader for thousands of sites, with a supported-sites list in the repository. For an editor, the jobs that matter are these:

  • Format selection. yt-dlp lists every resolution and codec a video offers and picks the best video and audio by default.
  • Merging. YouTube serves high resolutions as separate video and audio streams; yt-dlp hands them to ffmpeg to join into one file.
  • Playlists, channels and sections. One command can fetch a whole playlist, a channel or only a time range of a video.
  • Audio, subtitles and metadata. yt-dlp can extract audio only, save subtitle files and record the title, uploader and license the site reports.

The table sums up yt-dlp in nine facts, each with the document that states it.

Fact Detail Source
What it is A command-line audio and video downloader yt-dlp README
Sites Thousands, listed in the project’s supported-sites file yt-dlp README
Interface Typed commands in a terminal, no window of its own yt-dlp README
License Unlicense; the ready-built executables include GPLv3+ code yt-dlp README
Origin A community fork of an older open-source downloader yt-dlp README
Official home The yt-dlp organization on GitHub and its release pages yt-dlp README
Release channels Stable, nightly (recommended for regular users) and master yt-dlp README
ffmpeg Highly recommended; required to merge separate video and audio yt-dlp README
JavaScript runtime Required for full YouTube support as of September 2026, Deno or another supported runtime yt-dlp README

A basic command is one line: yt-dlp followed by the link in quotes. Everything else, from quality to file naming, is an option you type or keep in a config file.

Who maintains yt-dlp and how is it licensed?

yt-dlp is maintained by its own open-source project on GitHub, where the code, the issue tracker and every release are public. Its maintainers review contributions from anyone, and the README states the license: the Unlicense.

The Unlicense dedicates the code to the public domain, so you may use, copy, modify and redistribute yt-dlp for any purpose, commercial work included, without paying or asking. The README adds one caveat: the ready-built executables bundle third-party code under GPLv3 or later, so each combined executable is licensed under GPLv3 or later.

Public code has a practical consequence for trust. Anyone can read what yt-dlp does, file a bug or follow a change from the report to the release. yt-dlp costs nothing and needs no account.

B-ROLL credits yt-dlp and its Unlicense inside the app, next to ffmpeg (GPL v2 or later) and Deno (MIT). The full list, with how each tool is used, is on the open-source credits and licenses page.

Is yt-dlp safe to run?

yt-dlp is safe to run when the file comes from the project itself: the yt-dlp repository on GitHub and its release pages. The real risk is a copy from somewhere else, wrapped in an installer or renamed on a site that has nothing to do with the project.

Copies from outside the project tend to arrive in three forms:

  • Lookalike download sites that rank for “yt-dlp download” and serve their own installer instead of the official file.
  • Bundled installers that add toolbars, “helpers” or other programs next to the downloader.
  • Websites named after yt-dlp that run downloads on their own servers and are not part of the project at all.

The README lists where official executables live: the main release page plus the project’s nightly and master build repositories. The README also warns you to be careful with --update-to pointed at a different repository, because yt-dlp does no verification of binaries from other repositories.

One file deserves extra care. When a video needs sign-in, yt-dlp can read a cookies.txt exported from your own browser, and that file lets a tool act as your signed-in YouTube account. Keep cookies.txt on your own PC and never paste or upload it into a website.

yt-dlp is published openly on GitHub under a public-domain license, so the legal question is about the footage. Whether a specific download is allowed depends on the video, its license and what you do with the file. The Terms, the license and the law decide, not the tool.

Two primary texts frame it. The YouTube Terms of Service forbid downloading content unless YouTube expressly authorizes it, for example with its own download feature, or you hold written permission from YouTube and the rights holders. The yt-dlp FAQ says the project does not support sites used mainly for piracy.

Copyright is a separate layer from the Terms. Your own uploads, Creative Commons videos and footage you have licensed can be fine under copyright yet still sit outside YouTube’s Terms. The sources, the fair use question and the rules outside the US are summarized in is it legal to download YouTube videos? What the terms say.

Why does yt-dlp need frequent updates?

yt-dlp needs frequent updates because YouTube keeps changing how it delivers video, and each change can stop an older copy from finding or fetching streams. The nightly channel exists for that reason: the README calls it the recommended channel for regular users, with a snapshot released shortly before midnight UTC on development days.

As of September 2026, the yt-dlp PO Token Guide describes two of those changes. A PO token (Proof of Origin token) is a value YouTube requires from some clients to confirm requests come from a genuine app, and requests without one may fail with HTTP Error 403. SABR is YouTube’s own streaming method, and the guide lists some clients, such as the web player, as receiving only SABR formats.

As of September 2026, the README says full YouTube support needs a JavaScript runtime such as Deno next to yt-dlp. A copy that is weeks old, or that runs without a runtime, often sees fewer formats or fails outright. Update before you troubleshoot anything else:

PowerShell
yt-dlp -U
yt-dlp --update-to nightly

The errors that follow a YouTube change have their own pages: HTTP Error 403 Forbidden on YouTube downloads and “Sign in to confirm you’re not a bot”. Every other failure is listed under YouTube download troubleshooting.

How does B-ROLL use yt-dlp?

B-ROLL runs the real yt-dlp underneath a Windows interface built for editors: yt-dlp fetches the video, and B-ROLL chooses the options, names the files and hands the result to ffmpeg. The file quality comes from the same engine as a typed command; only the way you ask for it changes.

B-ROLL handles the setup and upkeep that the command line leaves to you:

  • First launch downloads yt-dlp.exe, ffmpeg.exe and deno.exe from their GitHub release pages into %LOCALAPPDATA%\Broll. You never choose a download site for the tools.
  • Every launch updates yt-dlp to the latest nightly build. Force update yt-dlp in the sidebar Advanced panel does the same on demand.
  • Tool status shows in the Advanced panel under TOOLS, with the yt-dlp version and whether ffmpeg and the JavaScript runtime are ready.
  • ffmpeg and Deno are not updated automatically; Reinstall tools downloads both again. If an ffmpeg is already on the Windows PATH at first launch, B-ROLL uses it and skips Deno, and TOOLS shows JS runtime: missing until you reinstall.

On top of yt-dlp, B-ROLL adds a preview and trim player (it needs VLC media player installed), the automatic conversion to ProRes or DNxHR after the download, and a credits file per video. How ffmpeg does the merging and conversion is explained in what is ffmpeg and why do downloaders need it.

B-ROLL accepts YouTube links only and does not expose every yt-dlp option, so the command line still wins for scripts and unusual flags. The trade-off is weighed in choosing a yt-dlp GUI for Windows as a video editor, and every download route is compared on the ways to download YouTube videos, compared hub.

Frequently asked questions

Why does antivirus sometimes flag yt-dlp?

Antivirus programs sometimes flag yt-dlp because its Windows executable is a self-contained bundle that downloads files and updates itself. Security tools also see that pattern in unwanted software. A flag on a copy from an unofficial site deserves real suspicion. A flag on the file from the project's own GitHub releases is more likely a false positive, which you can report to your antivirus vendor.

Where did yt-dlp come from?

yt-dlp started as a community fork of an older open-source downloader, built on an intermediate fork that is no longer active, according to the project's README. It kept the command-line design and added its own features, extractors and release channels. Today it is developed as its own project in the yt-dlp organization on GitHub, with public code, issues and releases.

Do I need to install yt-dlp to use B-ROLL?

No. B-ROLL downloads yt-dlp from its GitHub release page on first launch, together with ffmpeg and Deno, and keeps all three in its own data folder under %LOCALAPPDATA%. After that, B-ROLL updates yt-dlp to the latest nightly build at every launch. You never type a command, add anything to your PATH or pick a download site for the tools.

Sources

  1. yt-dlp README on GitHub github.com
  2. yt-dlp wiki: FAQ github.com
  3. yt-dlp wiki: PO Token Guide github.com
  4. YouTube Terms of Service youtube.com

Download B-ROLL, free

Windows 10 and 11 today, macOS and Linux planned. No account, no ads. Voluntary donations keep it free.

v1.0 · 20.3 MB installer · Windows 10 and 11