youtube-dl
Sign in to saveKey facts
- Software.title
- youtube-dl
- Software.name
- yt-dlp
- Software.screenshot
- Yt-dlp downloading a Wikimedia CEE Meeting 2024 video.png
- Software.caption
- yt-dlp downloading a video by WMTR, working on WSL
- Software.author
- Ricardo García Gonzalez
- Software.latest preview version
- 2025.10.19
- Software.latest preview date
- 19 October 2025
- Software.programming language
- Python
- Software.operating system
- Windows, macOS, Linux
- Software.genre
- Stream recorder
- Software.license
- Unlicense
- Software.qid
- Q108454371
- Software.logo
- Yt-dlp logo.svg
- Software.released
- January 7, 2021
via Wikipedia infobox
Source code
To install it right away for all UNIX users (Linux, macOS, etc.), type: This command will update youtube-dl if you have already installed it. See the pypi page for more information. Alternatively, refer to the developer instructions for how to check out and work with the git repository. For further options, including PGP signatures, see the youtube-dl Download Page. Network Options: --proxy URL Use the specified HTTP/HTTPS/SOCKS proxy. To enable SOCKS proxy, specify a proper scheme. For example socks5://127.0.0.1:1080/. Pass in an empty string (--proxy "") for direct connection --socket-timeout SECONDS Time to wait before giving up, in seconds --source-address IP Client-side IP address to bind to -4, --force-ipv4 Make all connections via IPv4 -6, --force-ipv6 Make all connections via IPv6 Geo Restriction: --geo-verification-proxy URL Use this proxy to verify the IP address for some geo-restricted sites. The default proxy specified by --proxy (or none, if the option is not present) is used for the actual downloading. --geo-bypass Bypass geographic restriction via faking X-Forwarded-For HTTP header --no-geo-bypass Do not bypass geographic restriction via faking X-Forwarded-For HTTP header --geo-bypass-country CODE Force bypass geographic restriction with explicitly provided two-letter ISO 3166-2 country code --geo-bypass-ip-block IP BLOCK Force bypass geographic restriction with explicitly provided IP block in CIDR notation You can configure youtube-dl by placing any supported command line option to a configuration file. On Linux and macOS, the system wide configuration file is located at /etc/youtube-dl.conf and the user wide configuration file at ~/.config/youtube-dl/config . On Windows, the user wide configuration file locations are %APPDATA% youtube-dl config.txt or C: Users youtube-dl.conf . Note that by default configuration file may not exist so you may need to create it yourself. You can use --ignore-config if you want to disable the configuration file for a particular youtube-dl run. You can also use --config-location if you want to use custom configuration file for a particular youtube-dl run. To activate authentication with the .netrc file you should pass --netrc to youtube-dl or place it in the configuration file. On Windows you may also need to setup the %HOME% environment variable manually. For example: The -o option allows users to indicate a template for the output file names. The basic usage is not to set any template arguments when downloading a single file, like in youtube-dl -o funny video.flv " However, it may contain special sequences that will be replaced when downloading each video. The special sequences may be formatted according to python string formatting operations. For example, %(NAME)s or %(NAME)05d . To clarify, that is a percent symbol followed by a name in parentheses, followed by formatting operations. Allowed names along with sequence type are: id (string): Video identifier title (string): Video title url (string): Video URL ext (string): Video filename extension alt title (string): A secondary title of the video display id (string): An alternative identifier for the video uploader (string): Full name of the video uploader license (string): License name the video is licensed under creator (string): The creator of the video release date (string): The date (YYYYMMDD) when the video was released timestamp (numeric): UNIX timestamp of the moment the video became available upload date (string): Video upload date (YYYYMMDD) uploader id (string): Nickname or id of the video uploader channel (string): Full name of the channel the video is uploaded on channel id (string): Id of the channel location (string): Physical location where the video was filmed duration (numeric): Length of the video in seconds view count (numeric): How many users have watched the video on the platform like count (numeric): Number of positive ratings of the video dislike count (numeric): Number of negative ratings of
Excerpt from the source-code README · 101,034 chars · not written by Vinony
~6 min read
Encyclopedic overview
6 sectionsContents
- History
- RIAA takedown request
- yt-dlp fork
- See also
- References
- External links
youtube-dl is a free and open-source software tool for downloading video and audio from YouTube and over 1,000 other video hosting websites. It supports diverse file formats, quality settings, and platforms including Microsoft Windows, macOS, and Linux. It is released under the Unlicense software license.
As of September 2021, youtube-dl is one of the most starred projects on GitHub, with over 100,000 stars. According to libraries.io, 308 other packages and 1,430 repositories depend on it. Numerous forks of the project exist, among which the community-maintained fork yt-dlp is notable for active development and enhanced functionality. yt-dlp builds upon youtube-dl's core features by offering improvements such as faster multi-threaded downloads, more advanced format selection and subtitle embedding support. Due to its active maintenance and expanded capabilities, yt-dlp has been widely adopted and has replaced youtube-dl in several major Linux distributions, notably beginning with Ubuntu 22.04.
Excerpted from Wikipedia’s “youtube-dl” article, available under the CC BY-SA 4.0 licence.
Available in 15 languages
via Wikidata sitelinks · CC0