November 10, 2026 Breaking
Your Daily Source for News, Ideas & Information
Technology

How to Use yt-dlp: Beginner’s Guide With Commands (Windows, Mac & Linux)

How to Use yt-dlp: Beginner’s Guide With Commands (Windows, Mac & Linux)

You found the video you need — a lecture, a tutorial, a clip for a project — and the “download” site you landed on is a minefield of fake buttons, pop-ups, and a suspicious .exe. There is a better tool, and it is the one the minefield sites hope you never learn about: yt-dlp, a free command-line program that downloads video and audio from YouTube and hundreds of other sites, with no ads and no bundled junk. It asks one thing in return — that you type commands instead of clicking buttons. This FAQ walks through everything a first-time user actually asks, in the order they ask it.

What exactly is yt-dlp?

Yt-dlp is a free, open-source program you run from a terminal or command prompt. You give it a link; it fetches the video or audio in the quality you choose and saves it as a file on your computer. It began as a fork (an actively developed offshoot) of the older youtube-dl project and has become the standard tool of its kind — faster, updated far more often, and able to handle far more sites. There is no account, no interface, and no company in the middle: the program talks to the video site the same way your browser does and saves what it receives. Everything in this guide comes from the project’s own documentation on the official yt-dlp GitHub page, which is also the only place you should download it from.

Is yt-dlp legal to use?

The program itself is legal — it is general-purpose software with many legitimate uses, and it is developed in the open. What you download with it is where the rules live. Downloading your own uploads, Creative Commons videos, public-domain material, and content the creator offers for download is fine. Downloading copyrighted videos you have no rights to can breach the site’s terms of service and, depending on your country and what you do with the file, copyright law. The sensible line most people follow: use it for personal, permitted purposes — archiving your own work, keeping a lecture your course provided, saving a video before it is deleted — and do not redistribute what you download. This guide teaches the tool; the responsibility for each link is yours.

Is it safe? How do I avoid the fake versions?

The real yt-dlp is safe and contains no ads, trackers, or bundled software. The danger is impostors: because the tool is popular, scam sites offer “yt-dlp downloaders” wrapped in installers full of adware. Protect yourself with one rule — get it only from the official GitHub project (linked above) or through your operating system’s package manager using the commands in the install answers below. If a download page shows you three green DOWNLOAD buttons, countdown timers, or asks you to install something else first, close it. You would never accept a “free” tool through that door.

What do I need before I start?

Three things. A computer running Windows, macOS, or Linux. A terminal: on Windows that is Command Prompt or PowerShell (press the Windows key, type cmd, Enter); on Mac, the Terminal app; on Linux, your usual terminal. And, for the best quality downloads, a second free program called FFmpeg, covered in its own question below — you can download simple videos without it, but you will want it within the week. No programming knowledge is required; every task in this guide is a single typed (or pasted) command.

How do I install yt-dlp on Windows?

You have two good routes. The package-manager route is cleanest: open a terminal and run winget install yt-dlp, which fetches the official build and puts it on your path so you can call it from any folder. The manual route: download yt-dlp.exe from the releases section of the official GitHub page and save it in a folder you will keep, such as C:\yt-dlp. Then either open your terminal inside that folder (type cmd in the folder’s address bar in File Explorer) or add the folder to your PATH in Windows settings so yt-dlp works everywhere. Test the result by typing yt-dlp --version — a version number means you are in business.

How do I install it on a Mac or Linux?

On a Mac with Homebrew installed, one command does it: brew install yt-dlp. Without Homebrew, the project offers a standalone macOS download on its GitHub releases page. On Linux, resist your distribution’s built-in package unless it is very current — repository versions are frequently months out of date, and stale versions are the number-one cause of failed downloads. The reliable routes are pip install yt-dlp (Python’s package manager) or the standalone Linux binary from the official releases. Whichever route you took, verify with yt-dlp --version before continuing.

Do I really need FFmpeg, and how do I get it?

Yes, if you want top quality or audio files. Here is why: YouTube and many other sites store high-resolution video and the audio as separate streams. Yt-dlp can download both, but stitching them into one playable file is FFmpeg’s job — without it, you are limited to the lower-quality combined streams, and converting to MP3 is impossible. Install it on Windows with winget install ffmpeg, on a Mac with brew install ffmpeg, and on Linux through your package manager (sudo apt install ffmpeg on Debian/Ubuntu). The official builds also live at FFmpeg’s download page. Install it once and forget it exists; yt-dlp finds and uses it automatically.

What is my very first download command?

This one: yt-dlp "PASTE THE VIDEO LINK HERE". Run it in your terminal, keeping the quotes around the link — quotes protect the command from special characters in long web addresses, a habit that prevents a whole class of confusing errors. The program prints what it is doing (which formats it found, the file size, a progress line) and saves the video into the folder your terminal is currently in. That is the entire core skill; everything else in this FAQ is a variation on this single line, adding instructions called options before the link.

How do I choose the video quality instead of taking whatever comes?

Two commands work as a pair. First, yt-dlp -F "LINK" (capital F) lists every format the site offers for that video — each row has a format code, resolution, and file type. Then download the one you want with yt-dlp -f CODE "LINK". Most people skip the list and use a rule instead: yt-dlp -f "bv*[height<=1080]+ba" "LINK" means “the best video up to 1080p, plus the best audio,” which FFmpeg then merges. Swap 1080 for 720 or 2160 (4K) to taste. The logic is worth learning once, because “it downloaded in low quality” is the most common complaint about this tool, and it is always this setting.

How do I make sure I get an MP4 file?

Sites often serve video in WebM or other containers that some editors and TVs dislike. Add --merge-output-format mp4 to your command and yt-dlp will hand FFmpeg the streams and produce a standard MP4: yt-dlp -f "bv*[height<=1080]+ba" --merge-output-format mp4 "LINK". If your editing software is picky, that one option ends most compatibility grumbles before they start.

How do I download just the audio, or an MP3?

Use the extraction option: yt-dlp -x --audio-format mp3 "LINK". The -x says “keep only the audio,” and --audio-format mp3 names the format (opus, m4a, and wav are also available). This is the standard way people save podcast episodes, lectures, and music they have the rights to keep. Add --audio-quality 0 for the best quality the source offers. Remember FFmpeg is required for the conversion step.

How do I download a whole playlist without babysitting it?

Point the same basic command at the playlist link instead of a single video, and yt-dlp works through every item: yt-dlp "PLAYLIST LINK". Three refinements make playlist jobs civilized. --playlist-items 1-5 (or 1,3,7) downloads only the items you name. -o "%(playlist_index)s - %(title)s.%(ext)s" names each file with its playlist number, so the folder sorts in order instead of alphabet soup. And if a download dies halfway through a 60-video playlist, just run the same command again — yt-dlp skips files it already has rather than starting over.

Can I save subtitles, the thumbnail, or only part of a video?

All three, yes. For subtitles: yt-dlp --write-subs --sub-langs "en.*" "LINK" saves the subtitle file alongside the video (add --skip-download if you want only the subtitles). For the thumbnail image: --write-thumbnail. For a section of a long video — say, one segment of a three-hour stream — use --download-sections "*00:10:00-00:12:30" with your start and end times; yt-dlp fetches just that range (FFmpeg required). That last option alone justifies learning this tool for students and editors, who routinely need ninety seconds out of a very long recording.

How do I download many separate links at once?

Save the links, one per line, in a plain text file — call it links.txt — then run yt-dlp -a links.txt. The program processes them in order, applying any other options you add to the command. Keeping a running links file is also a good habit in itself: links you meant to save survive browser crashes, tab purges, and the video being deleted later — the same reason a written backup beats a memory, whether the material is video or, as in our guide to how much data 4K streaming uses per hour, the numbers behind your viewing habits.

Why did my download fail with a 403 error or a “sign in” message?

These two cover most failures. A 403 error usually means your yt-dlp is out of date — video sites change their systems constantly, and the fix is to update (next question) and retry. A “Sign in to confirm you’re not a bot” message means the site is challenging your connection; the common remedy is to borrow your browser’s login cookies with --cookies-from-browser chrome (or firefox, edge, brave) added to the command, which requires that browser to be installed and, on some systems, fully closed. Other frequent culprits: the video is private, region-locked, or deleted (no tool fixes those), or your network blocks the site. Read the red error text before changing anything — yt-dlp’s messages are blunt but accurate, and the first line after ERROR usually names the real problem.

How do I keep yt-dlp up to date?

If you installed the standalone program, run yt-dlp -U and it updates itself. If you installed with pip, the command is pip install -U yt-dlp; with winget or Homebrew, winget upgrade yt-dlp or brew upgrade yt-dlp. Update before troubleshooting anything else — a remarkable share of “yt-dlp is broken” reports are a six-month-old copy meeting a site that changed last week. The project releases updates frequently, sometimes several in a month, precisely because the sites it works with keep moving.

Where do the downloaded files actually go?

Into whichever folder your terminal is currently sitting in — the single most confusing thing for new users, who often download a video successfully and then cannot find it. The terminal’s prompt usually shows the current folder; on Windows you can type cd %USERPROFILE%\Downloads before downloading to land files in your Downloads folder every time. To control it from the command itself, use -P "C:\path\to\folder" (the paths option) to set the destination, and the -o output template to control file names — for example -o "%(uploader)s - %(title)s.%(ext)s" prefixes every file with the channel name. Set both once in a configuration file (below) and downloads stop playing hide-and-seek permanently.

Can I slow a download down, or stop and resume one?

Yes to both, and the second is better than you would guess. To cap speed — useful on shared connections — add --limit-rate 2M for two megabytes per second (K and M suffixes both work). To stop a download, press Ctrl + C in the terminal; yt-dlp leaves a .part file behind, and when you run the same command again later, it resumes from that partial file instead of starting over, as long as the .part file is still there. Completed downloads are also skipped automatically on a rerun, which makes yt-dlp unusually forgiving of interruptions, crashes, and laptops closed mid-playlist.

What is the difference between yt-dlp and youtube-dl?

Youtube-dl is the original project, famous and beloved, but its development slowed to a crawl years ago, and sites gradually outpaced it. Yt-dlp is a fork — a continuation built from the same codebase by a more active team — that kept the familiar commands and added a great deal: far more supported sites, much better format selection (the quality rules in this guide do not exist in the original), SponsorBlock integration, faster downloads through multiple connections, and updates measured in weeks rather than years. If you find an old tutorial written for youtube-dl, nearly every command in it works in yt-dlp unchanged, which is why the names get used interchangeably in forums. For a new install in 2026 there is no real contest: yt-dlp is the maintained tool, and youtube-dl is the historical one.

Can I run yt-dlp on my phone instead of a computer?

On Android, yes — the app Termux gives you a real terminal, and yt-dlp installs inside it with pip much as it does on Linux; several wrapper apps also bundle the tool behind a simple paste-a-link interface. Be honest with yourself about storage and patience, though: 4K files are gigabytes, phone storage fills fast, and typing format rules on a phone keyboard is nobody’s idea of fun. On iPhone, Apple’s restrictions make this clunky — it can be done through scripting apps and shortcuts, but it breaks often and fights you throughout. The practical pattern most people settle on: keep yt-dlp on the computer, where the storage, screen, and keyboard are, and treat the phone as the thing you watch the finished files on.

What should I learn next, once the basics feel easy?

Three upgrades cover most people’s futures. A configuration file — a text file named yt-dlp.conf in the right folder — stores your favorite options permanently, so your carefully built quality and MP4 settings apply to every command without retyping. SponsorBlock options (--sponsorblock-remove all and its gentler cousins) can mark or remove sponsored segments in supported videos. And archive files (--download-archive done.txt) make large recurring jobs — a channel you follow, a course you are working through — remember what they already fetched, so weekly updates download only what is new. The full manual on the project’s GitHub page is long but searchable, and by the time you need it, you will read it like a menu instead of a textbook.

admin

Leave a Reply

Your email address will not be published. Required fields are marked *