43 developer tools, always updated — new upstream releases land in apt within hours. Join the Discord

📅 From , the apt mirror will require a subscription. See pricing

📺 Install Latest yt-dlp on Ubuntu

A feature-rich command-line audio/video downloader with support for thousands of sites

Latest version: 2026.07.04 · updated 2026-08-16
SourceVersion
deb.griffo.io2026.07.04 ✅
Official Ubuntu2026.03.17 🛑
← Back to home

What is yt-dlp?

yt-dlp is a command-line audio and video downloader that handles well over a thousand sites. It began as a fork of youtube-dl (by way of the now-inactive youtube-dlc) and has since become the actively maintained project of the two, with a far richer format selector, SponsorBlock integration, native support for embedding subtitles, chapters and metadata, and a plugin system for custom extractors.

🚀 Why Latest Versions Matter: more than for any other tool in this repository. yt-dlp talks to sites that change their players and APIs without warning, and the fix arrives as a new yt-dlp release — often within days. A frozen archive build does not merely lack features: its extractors stop working, and downloads fail with signature or format errors until you upgrade. Running the current release is the whole point.

⚡ Key Features of yt-dlp

🌐 Thousands of Sites

Over 1,700 extractors covering video platforms, broadcasters, podcast hosts and news sites, plus a generic extractor that finds media on pages nobody wrote an extractor for.

🎚️ Precise Format Selection

-f and -S give you a full expression language over resolution, codec, bitrate and container, so you can ask for exactly the stream you want instead of whatever is default.

🎧 Audio Extraction

-x --audio-format mp3 pulls the audio track out and re-encodes it, with --embed-thumbnail and --embed-metadata for tagged files that music players understand.

💬 Subtitles & Chapters

Download or embed subtitles in any available language, keep automatic captions, and write chapter markers straight into the output file — or split on them.

⏭️ SponsorBlock

Mark or remove sponsor segments, intros and self-promotion at download time using the SponsorBlock database, without touching an editor afterwards.

🍪 Cookies & Sessions

--cookies-from-browser reads a logged-in session straight from Firefox or Chromium so private, age-gated and members-only content works.

🚀 Always ahead of the official archives: Debian and Ubuntu freeze package versions when a release ships — this repository publishes new upstream releases typically within hours. A simple apt upgrade keeps you on the latest version.

📦 Installation from deb.griffo.io

Run the commands

Step 1: Add Repository

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update

Step 2: Install yt-dlp

# Install latest yt-dlp
sudo apt install yt-dlp

# Verify installation
yt-dlp --version
# Install latest yt-dlp
apt install yt-dlp

# Verify installation
yt-dlp --version

Step 3: Install ffmpeg (strongly recommended)

# yt-dlp needs ffmpeg to merge separate video and audio streams,
# to extract audio and to embed subtitles or thumbnails
sudo apt install ffmpeg

# Completions for bash, zsh and fish ship with the package —
# nothing to configure. Open a new shell and press Tab:
yt-dlp --embed-<Tab>

# The manual page is installed too
man yt-dlp
# yt-dlp needs ffmpeg to merge separate video and audio streams,
# to extract audio and to embed subtitles or thumbnails
apt install ffmpeg

# Completions for bash, zsh and fish ship with the package —
# nothing to configure. Open a new shell and press Tab:
yt-dlp --embed-<Tab>

# The manual page is installed too
man yt-dlp

🎯 Basic Usage Examples

Everyday downloading:

# Download a video at the best available quality
yt-dlp 'https://example.com/watch?v=...'

# Best MP4 up to 1080p
yt-dlp -S 'res:1080,ext:mp4' 'URL'

# Audio only, as a tagged MP3
yt-dlp -x --audio-format mp3 --embed-thumbnail --embed-metadata 'URL'

# See every format on offer before choosing
yt-dlp -F 'URL'

Subtitles, chapters and sponsors:

# Embed English subtitles, including automatic captions
yt-dlp --embed-subs --sub-langs en --write-auto-subs 'URL'

# Write chapter markers into the file
yt-dlp --embed-chapters 'URL'

# Drop sponsor segments and intros at download time
yt-dlp --sponsorblock-remove sponsor,intro 'URL'

# Grab a single section instead of the whole video
yt-dlp --download-sections '*00:01:30-00:04:00' 'URL'

Playlists, archives and automation:

# A whole playlist, into tidy per-uploader folders
yt-dlp -o '%(uploader)s/%(title)s.%(ext)s' 'PLAYLIST_URL'

# Keep a channel in sync without re-downloading old items
yt-dlp --download-archive seen.txt 'CHANNEL_URL'

# Private or age-gated content, using a logged-in browser session
yt-dlp --cookies-from-browser firefox 'URL'

# Faster downloads through aria2c
yt-dlp --downloader aria2c --downloader-args aria2c:'-x 8 -s 8' 'URL'

🔧 Tool Integrations

yt-dlp is the download backend a lot of other software expects:

  • ffmpeg: merging, remuxing, audio extraction and embedding all shell out to it
  • mpv: plays a URL directly by handing it to yt-dlp on the fly
  • aria2: optional external downloader for parallel, segmented transfers
  • Media servers: Jellyfin, Kodi and Navidrome libraries are commonly filled from yt-dlp output templates
  • Config files: put your usual flags in ~/.config/yt-dlp/config and stop retyping them

🚀 Why Choose deb.griffo.io?

📊 Repository Comparison:
  • Official Ubuntu: available, but frozen at the version that shipped with the release — months of extractor fixes behind
  • pip / pipx: current, but outside apt, and PEP 668 makes a system-wide pip install awkward on Ubuntu
  • deb.griffo.io: latest version with automatic updates

📦 Package Build Repository

The Ubuntu packages are automatically built and maintained in this GitHub repository:

🔗 Related Packages

Also available from deb.griffo.io:

🎯 Perfect for: archiving your own uploads, saving lectures and conference talks for offline viewing, feeding a Jellyfin or Kodi library, ripping audio from podcasts, and any script that needs a downloader whose extractors still work. Please respect each site's terms of service and the copyright of the material you download.

💝 Support This Project

If this repository saves you time and effort, please consider supporting it!

⭐ Star on GitHub 🐦 Share on Twitter

Just after the command? See apt install yt-dlp — one page covering Debian and Ubuntu.

📦 Recent releases from this repository

📚 Release-specific install guides

❓ Frequently asked questions

Is yt-dlp in the official Ubuntu repositories?

Yes, but the official Ubuntu archive ships yt-dlp 2026.03.17, while this repository serves yt-dlp 2026.07.04 — rebuilt within hours of each upstream release.

How do I install the latest yt-dlp on Ubuntu?

Add the deb.griffo.io repository once using the instructions above, then run: sudo apt install yt-dlp. New releases arrive through the normal sudo apt upgrade.

Are the packages signed and how are they built?

Every package is signed with the repository's GPG key (EA0F721D231FDD3A0A17B9AC7808B4DD62C41256) and built from upstream releases in public GitHub packaging repositories that anyone can inspect.

Which Ubuntu releases are supported?

Ubuntu 22.04 Jammy, 24.04 Noble, 25.10 Questing and 26.04 Resolute.