How to Download YouTube Videos for Free: Complete Guide (2026)
saas

How to Download YouTube Videos for Free: Complete Guide (2026)

🛠️

ToolMix

· 8 min read
youtubevideo-downloadyt-dlp

TL;DR

YouTube doesn’t offer a built-in download button for every video, especially on desktop. The best free tool in 2026 is yt-dlp, a command-line downloader that handles YouTube and over 1,800 other sites. It supports 4K/HDR/60fps, playlists, subtitles, and sponsorblock integration — all without ads, bundles, or paywalls. This guide covers installation on Windows, macOS, and Linux, real command examples, GUI frontends for those who prefer buttons over terminals, and a comparison of every major download tool available today.


Before we dive in, let’s address the elephant in the room. YouTube’s Terms of Service (Section 5) prohibit downloading content without explicit permission, except through official features like YouTube Premium’s offline mode. That said, downloading your own content, videos with a Creative Commons license, or content where you have the copyright holder’s permission is generally fine. Many jurisdictions also recognize “fair use” or “private copy” exceptions for personal, non-commercial use. This guide exists for educational purposes. Always respect copyright and the platform’s terms.


What Is yt-dlp?

yt-dlp is a command-line program that downloads videos from YouTube and well over 1,800 other websites. It is the active community-maintained fork of the original youtube-dl project, which saw its development slow significantly after 2020.

Why yt-dlp won over youtube-dl:

  • Faster downloads — yt-dlp uses multi-threaded download engines by default
  • Better format selection — you can precisely pick video + audio streams and merge them
  • SponsorBlock integration — automatically skip sponsored segments baked into the video
  • Active development — YouTube changes its delivery constantly; yt-dlp adapts within days, not months
  • Built-in post-processing — extract audio as MP3, embed thumbnails, burn subtitles, all in one command

If you used youtube-dl in the past, yt-dlp is a drop-in replacement with the same syntax plus many quality-of-life improvements.


Installing yt-dlp

Windows

The easiest method is the official Windows binary:

  1. Download the latest yt-dlp.exe and place it in a folder that is in your system PATH (e.g., C:\Users\YourName\AppData\Local\Programs\yt-dlp\). On Windows, the recommended approach is to create a dedicated folder like D:\tools\ and add it to your PATH environment variable.
  2. Open Command Prompt or PowerShell and type yt-dlp --version to confirm it works.

Alternatively, if you already use a package manager:

winget install yt-dlp.yt-dlp

Or via Scoop:

scoop install yt-dlp

macOS

The recommended route is Homebrew:

brew install yt-dlp

You can also grab the standalone binary and place it in /usr/local/bin/. Make it executable with chmod +x.

Linux

Most distributions package yt-dlp or make it available via pip:

# Debian/Ubuntu
sudo apt install yt-dlp

# Arch Linux
sudo pacman -S yt-dlp

# Via pip (works everywhere Python is installed)
python3 -m pip install -U yt-dlp

For the absolute latest version, use the nightly channel:

python3 -m pip install -U --pre yt-dlp

Basic Usage: Your First Download

Open your terminal, navigate to the folder where you want to save files, and run:

yt-dlp "https://www.youtube.com/watch?v=VIDEO_ID"

That’s it. yt-dlp picks the best combined video+audio format by default (normally 1080p H.264 + AAC in an MP4 container) and saves it to the current directory.

Download a Specific Quality

YouTube serves video and audio as separate streams for resolutions above 720p. yt-dlp handles the merging automatically with FFmpeg, so install that first:

  • Windows: winget install FFmpeg.FFmpeg
  • macOS: brew install ffmpeg
  • Linux: sudo apt install ffmpeg

Then specify resolution:

# Best quality up to 1080p
yt-dlp -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" "URL"

# Best 4K HDR
yt-dlp -f "bestvideo[height<=2160]+bestaudio/best" "URL"

# 720p only
yt-dlp -f "best[height<=720]" "URL"

Audio Only (MP3 Extraction)

Perfect for podcasts, music, or language learning:

yt-dlp -x --audio-format mp3 "URL"

The -x flag tells yt-dlp to extract the audio after downloading, and --audio-format mp3 encodes it as MP3 (requires FFmpeg).

Download Subtitles

# All available subtitles
yt-dlp --write-subs --sub-langs all "URL"

# Only English subtitles, embed into video
yt-dlp --write-subs --sub-langs en --embed-subs "URL"

# Auto-generated subtitles
yt-dlp --write-auto-subs --sub-langs en "URL"

Advanced Commands That Actually Matter

Download an Entire Playlist

yt-dlp "https://www.youtube.com/playlist?list=PLAYLIST_ID"

Control the range:

# Download videos 5 through 15
yt-dlp --playlist-start 5 --playlist-end 15 "PLAYLIST_URL"

# Skip the first 3 videos
yt-dlp --playlist-start 4 "PLAYLIST_URL"

Format Selection: Real-World Examples

View every available format for a video before deciding:

yt-dlp -F "URL"

This prints a table of every video and audio stream with its ID, resolution, codec, and file size. Then pick precisely:

# Merge format 137 (1080p VP9) with format 140 (AAC 128k audio)
yt-dlp -f 137+140 "URL"

SponsorBlock Integration

Skip baked-in sponsor segments automatically:

yt-dlp --sponsorblock-mark all "URL"

This embeds chapter markers at every sponsored segment. To physically remove those segments from the downloaded file:

yt-dlp --sponsorblock-remove all "URL"

Options include: sponsor, intro, outro, selfpromo, interaction, music_offtopic.

Rate Limiting to Avoid Throttling

YouTube sometimes throttles long downloads. Limit your download speed to stay under the radar:

yt-dlp --limit-rate 2M "URL"

Custom Naming Templates

Keep your downloads organized with a naming pattern:

yt-dlp -o "%(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" "URL"

This creates folders by channel name > playlist name > numbered files.

Configuration File

Save your preferences in ~/.config/yt-dlp/config (Linux/macOS) or %APPDATA%\yt-dlp\config.txt (Windows):

# Always embed thumbnails, write subs, and output to Videos folder
--embed-thumbnail
--write-subs
--sub-langs en,zh
--output ~/Videos/%(uploader)s/%(title)s.%(ext)s
--no-mtime

From then on, every yt-dlp command picks up those defaults automatically.


GUI Frontends (If You Hate the Terminal)

Some people genuinely prefer clicking buttons. Here are the best free GUIs that wrap yt-dlp:

Stacher

Stacher is the most polished GUI for yt-dlp on Windows, macOS, and Linux. It handles everything yt-dlp can do — format selection, playlists, audio extraction — behind a clean dark-themed interface. It auto-updates yt-dlp and includes a download queue with pause/resume.

Best for: Users who want a one-click experience without losing power features.

Tartube

Tartube is a full download manager built around yt-dlp. It downloads videos, organizes them into a local media library, and can even watch channels for new uploads automatically. Think of it as an RSS reader plus a video downloader in one.

Best for: Archiving entire YouTube channels and building offline media libraries.

yt-dlg (YouTube DL GUI)

A lightweight, cross-platform frontend originally built for youtube-dl but now supports yt-dlp. It’s simpler than Stacher — paste a URL, pick a format, click download. No frills, no bloat.

Best for: Minimalists who just want a tiny window that downloads videos.


Comparison Table: YouTube Download Tools in 2026

ToolGUIPlaylist SupportFormat SelectionSubtitle DownloadAds / Bundled JunkPrice
yt-dlpNo (CLI)Yes, full controlYes, granular (-F)Yes, all languagesNoneFree
4K Video DownloaderYesYes (limited in free)YesYesNo adsFree tier, License from $15
JDownloader 2YesYesYesNo (separate plugin)Installer bundles adwareFree
ClipGrabYesNoBasicNoInstaller may bundle offersFree
Online websites (various)Yes (web)NoNoNoHeavy pop-up adsFree
Browser extensionsYes (browser)NoNoNoVariable; some are spywareFree
YouTube PremiumYes (official)No downloads1080p max offlineYes (official)None$13.99/month

The Verdict

  • For power users: yt-dlp is untouchable. Full control, zero cost, no bloat.
  • For casual users who want a GUI: Stacher or Tartube, built on yt-dlp, give you the same power with a friendly face.
  • For one-off downloads on a machine you do not control: 4K Video Downloader’s free tier does the job, though playlist support is capped.
  • Avoid: Browser extensions and shady online downloader websites. Many inject tracking scripts, some have been caught stealing cookies, and the experience is universally worse.

Best Practices to Stay Unblocked

  1. Do not hammer the servers. Add a delay between playlist items with --sleep-interval 5 (in seconds).
  2. Use --limit-rate on long downloads. Capping at 2-3 MB/s is a good balance between speed and politeness.
  3. Keep yt-dlp updated — YouTube pushes changes weekly. Run yt-dlp -U before every session.
  4. Use cookies sparingly. If you need to download age-restricted or members-only content, export cookies from your browser with --cookies-from-browser firefox (or chrome/edge). But be aware that excessive downloads on a logged-in session can trigger account warnings.
  5. Prefer IPv4. Some ISPs route IPv6 traffic poorly to YouTube’s CDN. If downloads stall, add --force-ipv4.
  6. If a video fails, wait an hour and try again with -U (update) first. YouTube often deploys A/B tests that break extractors temporarily. The yt-dlp team is remarkably fast at patching these.

FAQ

Is yt-dlp safe to use?

Yes. yt-dlp is fully open-source. Every line of code is publicly inspectable, and the project is maintained by a large community of contributors. Download it only from the official distribution channels: pip, Homebrew, or the project’s own release page. Never download the binary from random third-party sites.

Can I download 8K videos with yt-dlp?

Yes. If the video is available in 8K on YouTube and you have the bandwidth, yt-dlp can download it. Use yt-dlp -F "URL" to check available formats, then select the appropriate video and audio streams to merge. Note that 8K AV1 encodes require a fairly recent GPU for smooth playback.

Does yt-dlp work on sites other than YouTube?

Absolutely. yt-dlp supports over 1,800 sites including Vimeo, Dailymotion, Twitch (VODs), Bilibili, NicoNico, TikTok, Twitter/X, Instagram, Facebook, Reddit, and many more. The full list is in the project’s documentation under “supported sites.”

Will YouTube ban my account for downloading?

YouTube has not historically banned accounts solely for downloading videos with yt-dlp. Their enforcement focuses on uploaders who violate copyright, not viewers who download occasionally. That said, aggressive behavior — downloading hundreds of videos per hour on a logged-in session — could theoretically trigger automated abuse detection. Use rate limiting and avoid logging in unless necessary.

Why do I need FFmpeg?

YouTube serves video and audio as separate streams for any resolution above 720p. yt-dlp downloads both streams and needs FFmpeg to merge them into a single playable file. FFmpeg is also required for audio extraction (MP3 conversion) and subtitle embedding. Without it, yt-dlp still works but will be limited to pre-merged formats below 1080p.

How is yt-dlp different from youtube-dl?

yt-dlp is a fork of youtube-dl that adds significant improvements: multi-threaded downloading, SponsorBlock integration, better format sorting, and far more frequent updates. At this point, youtube-dl is essentially unmaintained and often broken on YouTube. If you have any youtube-dl commands or scripts, switching to yt-dlp is a one-line change — simply replace youtube-dl with yt-dlp in your command or script.

Can I download only a specific portion of a video?

Yes. yt-dlp can call FFmpeg to trim the downloaded file to a specific time range:

yt-dlp --download-sections "*10:00-15:30" "URL"

This downloads only the segment from 10:00 to 15:30, saving bandwidth and storage.

🛠️

Written by ToolMix

We test and review software so you don't have to. Independent, honest, and always free. Got feedback? Use the form at the bottom of the page.

Frequently Asked Questions

Related Articles

Notion vs ClickUp vs Monday: Best Project Management Tool 2026
saas

Notion vs ClickUp vs Monday: Best Project Management Tool 2026

花100+小时实测5大项目管理工具:Notion vs ClickUp vs Monday vs Asana vs Linear——1人创业/10人团队/100人企业分别该用哪个?看板、甘特图、自动化、API集成全面对比。附各团队规模选型决策树。

10 min read