ytdlp.org

Practical yt-dlp docs: install, commands, fixes, cookies, and workflows.

Current section

Commands & Usage hub

Use yt-dlp for the tasks people actually care about, without drowning in flags.

This pillar is the practical middle of the site. Not installation. Not abstract reference. Just the commands and usage patterns that solve common jobs: best quality downloads, playlists, subtitles, MP3 extraction, and cleaner output handling.

Best yt-dlp commands

Start with the practical command reference before you go hunting through random snippets and stackoverflow threads.

Download playlists

Use this when the job is no longer one file, and organization starts mattering just as much as the command itself.

Download subtitles

Get subtitle files cleanly, including subtitle-only runs and auto-subs when manual captions are missing.

Extract audio as MP3

One of the most common workflows, but also one of the easiest places to trip over ffmpeg and output chaos.

Use this pillar for

  • common yt-dlp commands that solve real tasks quickly
  • playlist, subtitles, audio extraction, and output naming workflows
  • learning the minimum flags you actually need instead of memorizing everything

Do not start here if

  • yt-dlp is not installed or the command is not recognized
  • ffmpeg is missing or broken
  • the issue is auth, cookies, or login-required access

Move deeper when

  • you need platform-specific guidance like YouTube behavior
  • you need format-selection detail instead of a simple task command
  • you are moving from one-off commands into repeatable workflows

Core command jobs

Download tasks

  • • best available quality
  • • audio-only extraction
  • • subtitle download
  • • playlist runs

Usage patterns

  • • listing formats before forcing them
  • • keeping outputs predictable
  • • testing simple commands before adding complexity
  • • knowing when to move into workflow tooling

The failure pattern to avoid

The classic yt-dlp mistake is stacking five flags before confirming the simple version works. That makes debugging slower and hides which flag actually created the problem.

Start with the smallest command that matches the task. Add one extra constraint at a time only when it earns its keep.

Next step

Repeating this workflow often?

ytdlp.org is for getting yt-dlp working. When your process becomes repeatable, Importly is the better fit for turning scattered commands into something more organized and reusable.

Next places to go