youtube-dl is a command-line program for downloading video and audio from YouTube and other supported websites. It accepts individual URLs and lists of URLs, making it suitable for one-off downloads and scripted workflows.
Options control which media to retrieve, how files are named, and what processing follows a download. Some operations, including merging separate audio and video streams or converting media, require ffmpeg or avconv.
This is free and open source software.
Key Features
- List available media formats and select downloads by format, resolution, or other stream attributes.
- Download entire playlists or select particular playlist items and ranges.
- Read batches of URLs from a text file.
- Filter items using criteria such as title, upload date, duration, and file size.
- Maintain a download archive to avoid retrieving the same content again.
- Resume incomplete downloads and configure retry behaviour and transfer-rate limits.
- Build filenames and directory structures using metadata-based output templates.
- Download subtitles, automatically generated captions, thumbnails, and metadata where available.
- Extract audio and convert it to a chosen format using an external media processor.
- Support authentication options, cookie files, proxies, and site-specific credentials.
- Print media information or structured JSON without downloading the content.
- Load reusable options from configuration files.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: ytdl-org.github.io
Support:
Developer: youtube-dl contributors
License: The Unlicense

youtube-dl is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| YouTube Tools | |
|---|---|
| FreeTube | Privacy-based YouTube app |
| Media Downloader | Frontend for youtube-dl, gallery-dl, Lux, you-get, ... |
| OmniGet | Download media and files from a broad range of online sources |
| pipe-viewer | Lightweight YouTube client without requiring an API key |
| Piped | Uses NewPipe Extractor, a library for extracting |
| Open Video Downloader | Easy-to-use graphical frontend for downloading online videos |
| Tartube | Video downloader and browser built around yt-dlp |
| AudioTube | Qt-based music streamer |
| Videomass | Download, convert and processing media |
| ClipGrab | Downloader for YouTube and other sites |
| Minitube | Application for watching YouTube without using Flash |
| Materialious | Fontend for YouTube and Invidious |
| youtube-local | Browser-based YouTube client |
| SMTube | Search, play and download YouTube videos |
| Pipeline | Watch YouTube and PeerTube videos |
| MellowPlayer | Multi-platform cloud music integration |
| ytdl-gui | Graphical interface for yt-dlp |
| Youwee | Built with Tauri and React |
| PlasmaTube | Designed to be integrated with KDE Plasma |
| PsTube | Flutter-based video client |
| Video Downloader | Download videos from YouTube and other websites |
| VacuumTube | Unofficial wrapper of YouTube Leanback |
| NeoDLP | Feature-rich video/audio downloader based on yt-dlp |
| Mixtapes | Modern, Linux-first YouTube Music player |
| GDownloader | GUI for downloading videos, audio and galleries |
| Sunder | Built with Tauri v2 and Rust |
| SpMp | YouTube music client with a focus on customization |
| Pulsar | yt-dlp GUI |
| NouTube | YouTube and YouTube Music in a single app |
Read our verdict in the software roundup.
| Console-Based YouTube Tools | |
|---|---|
| yt-dlp | Fork of youtube-dl offering new features |
| You-Get | Downloader that scrapes the web |
| Lux | Download library and CLI tool |
| yewtube | Terminal based YouTube player and downloader |
| YouTube TUI | Lightweight and user friendly TUI for browsing YouTube |
| Tizonia | Cloud music player for the Linux terminal |
| pipe-viewer | Lightweight YouTube client with CLI and GUI |
| yt-x | Browse YouTube from the terminal |
| pytubefix | Library and CLI for downloading YouTube videos |
| ytsurf | Clean and distraction-free |
| YTerMusic | Aims to be as fast and simple as possible |
| xytz | TUI frontend for yt-dlp |
| ytm-player | Terminal-based client for YouTube Music |
| tuitube | TUI to download videos |
| GopherTube | Terminal YouTube client for searching and watching videos |
| youtube-dl | Download videos from YouTube and many other sites. Extremely versatile |
| ytcc | Keep track of your favorite playlists on YouTube |
| Rataplay | TUI to search, play and download videos |
| MPS-YouTube | Terminal based YouTube player and downloader |
| GoMusic | Download and stream music from YouTube |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.