Print help text and exit
Print program version and exit
Update this program to the latest version
Do not check for updates
Upgrade/downgrade to a specific version. Format:
[CHANNEL]@[TAG]CHANNEL can be a repository as well. CHANNEL and TAG default to “stable” and “latest” respectively if omitted.Supported channels: stable, nightly, masterExample:Error Handling
Ignore download and postprocessing errors. The download will be considered successful even if the postprocessing fails
Continue with next video on download errors; e.g. to skip unavailable videos in a playlist
Abort downloading of further videos if an error occursAlias:
--no-ignore-errorsExtractors
List all supported extractors and exit
Output descriptions of all supported extractors and exit
Extractor names to use separated by commas. You can also use regexes, “all”, “default” and “end” (end URL matching)Prefix the name with a ”-” to exclude it. Use
--list-extractors for a list of extractor names.Alias: --iesExample:Use this prefix for unqualified URLsValues:
auto- Let yt-dlp guessauto_warning- Emit a warning when guessingerror- Throw an errorfixup_error(default) - Repair broken URLs, but emit an error if not possible
Configuration
Don’t load any more configuration files except those given to
--config-locationsFor backward compatibility, if this option is found inside the system configuration file, the user configuration is not loaded.Alias: --no-configDo not load any custom configuration files. When given inside a configuration file, ignore all previous
--config-locations defined in the current fileLocation of the main configuration file; either the path to the config or its containing directory (”-” for stdin)Can be used multiple times and inside other configuration files
Plugins
Path to an additional directory to search for plugins. This option can be used multiple times to add multiple directories.Use “default” to search the default plugin directories
Clear plugin directories to search, including defaults and those provided by previous
--plugin-dirsJavaScript Runtime
Additional JavaScript runtime to enable, with an optional location for the runtimeFormat:
RUNTIME[:PATH] where PATH is either the path to the binary or its containing directoryThis option can be used multiple times to enable multiple runtimes.Supported runtimes (in priority order): deno, node, quickjs, bunOnly “deno” is enabled by default. The highest priority runtime that is both enabled and available will be used.Clear JavaScript runtimes to enable, including defaults and those provided by previous
--js-runtimesRemote Components
Remote components to allow yt-dlp to fetch when requiredThis option is currently not needed if you are using an official executable or have the requisite version of the yt-dlp-ejs package installed.Supported values:
ejs:npm- External JavaScript components from npmejs:github- External JavaScript components from yt-dlp-ejs GitHub
Disallow fetching of all remote components, including any previously allowed by
--remote-components or defaultsPlaylist Options
Do not extract a playlist’s URL result entries; some entry metadata may be missing and downloading may be bypassed
Fully extract the videos of a playlist
Livestream Options
Download livestreams from the startCurrently experimental and only supported for YouTube, Twitch, and TVer
Download livestreams from the current time
Wait for scheduled streams to become availablePass the minimum number of seconds (or range) to wait between retriesFormat:
MIN[-MAX]Do not wait for scheduled streams
Mark videos watched (even with
--simulate)Do not mark videos watched
Output Formatting
Whether to emit color codes in output, optionally prefixed by the STREAM (stdout or stderr) to apply the setting toFormat:
[STREAM:]POLICYValues:alwaysauto(default)neverno_color- Use non color terminal sequencesauto-tty- Decide based on terminal support onlyno_color-tty
Compatibility
Options that can help keep compatibility with youtube-dl or youtube-dlc configurations by reverting some of the changes made in yt-dlpSee “Differences in default behavior” for details
Aliases
Create aliases for an option stringUnless an alias starts with a dash ”-”, it is prefixed with ”—”. Arguments are parsed according to the Python string formatting mini-language.This option can be used multiple times. Each alias may be triggered a maximum of 100 times as a safety measure.Example:
Applies a predefined set of optionsAvailable presets:
mp3, aac, mp4, mkv, sleepSee the “Preset Aliases” section for more info. This option can be used multiple times.Example:Verbosity and Simulation
Activate quiet modeIf used with
--verbose, print the log to stderrExample:Deactivate quiet mode
Ignore warnings
Do not download the video and do not write anything to diskExample:
Download the video even if printing/listing options are used
Ignore “No video formats” errorUseful for extracting metadata even if the videos are not actually available for download (experimental)
Throw error when no downloadable video formats are found
Do not download the video but write all related filesAlias:
--no-downloadField name or output template to print to screen, optionally prefixed with when to print it, separated by a ”:”Format:
[WHEN:]TEMPLATESupported values of “WHEN” are the same as that of --use-postprocessor (default: video). Implies --quiet. Implies --simulate unless --no-simulate or later stages of WHEN are used.This option can be used multiple times.Example:Append given template to the fileFormat:
[WHEN:]TEMPLATE FILEThe values of WHEN and TEMPLATE are the same as that of --print. FILE uses the same syntax as the output template.This option can be used multiple times.Example:Quiet, but print JSON information for each videoSimulate unless
--no-simulate is used. See “OUTPUT TEMPLATE” for a description of available keys.Example:Quiet, but print JSON information for each URL or infojson passedSimulate unless
--no-simulate is used. If the URL refers to a playlist, the whole playlist information is dumped in a single line.Force download archive entries to be written as far as no errors occur, even if -s or another simulation option is usedAlias:
--force-download-archiveOutput progress bar as new lines
Do not print progress bar
Show progress bar, even if in quiet mode
Display progress in console titlebar
Template for progress outputs, optionally prefixed by the TYPESFormat:
[TYPES:]TEMPLATEExample:Print various debugging informationExample:
Print downloaded pages encoded using base64 to debug problems (very verbose)
Write downloaded intermediary pages to files in the current directory to debug problems
Display sent and read HTTP traffic
Workarounds
Force the specified encoding (experimental)
Explicitly allow HTTPS connection to servers that do not support RFC 5746 secure renegotiation
Suppress HTTPS certificate validation
Use an unencrypted connection to retrieve information about the videoCurrently supported only for YouTube
Specify a custom HTTP header and its value, separated by a colon ”:”You can use this option multiple times.Example:
Work around terminals that lack bidirectional text supportRequires bidiv or fribidi executable in PATH
Number of seconds to sleep between requests during data extractionExample:
Number of seconds to sleep before each downloadThis is the minimum time to sleep when used along with
--max-sleep-intervalAlias: --min-sleep-intervalExample:Maximum number of seconds to sleepCan only be used along with
--min-sleep-intervalExample:Number of seconds to sleep before each subtitle download