Download and archive videos from YouTube for offline viewing or long-term storage.
Batch-download entire playlists or channels automatically using command-line options.
Extract audio tracks from videos and save them as separate files.
Automate video downloading in scripts or workflows for content aggregation.
youtube-dl is a command-line program for downloading videos from YouTube.com and a number of other video sites. In plain terms, you type a command in your terminal, give it the web address of a video, and it saves the video file onto your computer instead of just playing it in a browser. The README describes it as released into the public domain, meaning you can modify it, redistribute it, or use it however you like. How it works at the surface level is straightforward: after installing, you run it as youtube-dl followed by options and one or more URLs. The README documents a long list of flags that control behavior, for example listing all supported extractors, ignoring errors so a playlist keeps going after one bad video, picking specific items out of a playlist, choosing the output format, setting a proxy, forcing IPv4 or IPv6, bypassing geographic restrictions by faking an X-Forwarded-For header or specifying a country code, and updating itself in place with -U. There are also sections on configuration files, output templates for naming downloaded files, and format selection for choosing video and audio quality. Installation is covered for several environments: a curl or wget one-liner on Unix systems including Linux and macOS, a downloadable .exe for Windows that you place on your PATH, pip from PyPI, and Homebrew or MacPorts on macOS. The tool runs on the Python interpreter, supporting versions 2.6, 2.7, and 3.2 or newer, and is not platform-specific. You would use youtube-dl when you want a scriptable, no-frills way to archive videos, save clips for offline viewing, or batch-download a whole playlist. The full README is longer than what was provided.
Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.