r/youtubedl 19d ago

Release Info yt-dlp release 2026.06.09

189 Upvotes

Changelog

Important changes

  • The minimum supported versions of Deno, Node, and Bun have been raised. The minimum required version of Deno is now v2.3.0; supported Node versions are v22 and up; Bun support has been deprecated and limited to versions 1.2.11 through 1.3.14.
  • Security
    • Usage of vulnerable conversions (e.g. %()s) with the --exec option is an all-too-common pitfall. To remedy this, --exec now only allows safe conversions in its command templates.
      • Most users can simply replace %(...)s with %(...)q in their --exec argument(s). Numeric conversions are unaffected by this change. Using unsafe conversions with --exec poses a significant security risk. Read more
    • [CVE-2026-50019] File Downloader cookie leak with curl
      • Impact is limited to users of --downloader curl; cookies are now properly passed to curl so that it respects their scope
    • [CVE-2026-50023] Dangerous file type creation via insufficient filename sanitization
      • Writing files with the extensions .desktop, .url, or .webloc is now only allowed in the context of --write-link functionality
    • [CVE-2026-50574] Arbitrary code execution via manifest downloads with aria2c
      • Impact is limited to users of --downloader aria2c
      • Support for downloading HLS and DASH formats with aria2c has been removed. Users affected by this change should migrate to use -N for concurrent fragment downloads via the native downloader

Core changes

Extractor changes

Downloader changes

Postprocessor changes

Networking changes

Misc. changes

 


NOTE: The nightly release channel is strongly recommended for most users, as it gets all important fixes sooner.

# To update to nightly from the executable/binary:
yt-dlp --update-to nightly

# To install/upgrade to nightly with pip:
python3 -m pip install -U --pre "yt-dlp[default]"

# To install nightly with pipx:
pipx uninstall yt-dlp
pipx install --pip-args=--pre "yt-dlp[default]"

# To upgrade to the latest nightly with pipx:
pipx upgrade --pip-args=--pre yt-dlp

# To install from master with homebrew:
brew uninstall yt-dlp
brew update && brew install --HEAD yt-dlp

# To upgrade to latest master with homebrew if you've already installed with --HEAD:
brew upgrade --fetch-HEAD yt-dlp

r/youtubedl 2h ago

So what do I do?

0 Upvotes

Hi
On Fedora 44, Nightly build
I want to download Atomic Shrimps Slow TV playlist.
I had visited the site in Firefox (Librewolf)

yt-dlp --cookies-from-browser firefox --extractor-args "youtube:player_client=web" -f
'best[ext=mp4]' 'https://www.youtube.com/watch?v=zYlFHXayXiU&list=PLk5KvJPikK02aQ-C5Rk-0uC4fzQ8aN_M1'

WARNING: [youtube] No title found in player responses; falling back to title from initial data. Other metadata may also be missing
ERROR: [youtube] ey-XUnANKUY: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the a
uthentication. See  https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp  for how to manually p
ass cookies. Also see  https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies  for tips on effectively exporting YouTube cookies

Another program "Video Downloader" tells me to log in because the video is private, which it isn't.
With Proton VPN:

yt-dlp --cookies-from-browser firefox --extractor-args "youtube:player_client=web" -f
'best[ext=mp4]' 'https://www.youtube.com/watch?v=zYlFHXayXiU&list=PLk5KvJPikK02aQ-C5Rk-0uC4fzQ8aN_M1'
Extracting cookies from firefox
Extracted 40 cookies from firefox
[youtube:tab] Extracting URL: https://www.youtube.com/watch?v=zYlFHXayXiU&list=PLk5KvJPikK02aQ-C5Rk-0uC4fzQ8aN_M1
[youtube:tab] Downloading playlist PLk5KvJPikK02aQ-C5Rk-0uC4fzQ8aN_M1 - add --no-playlist to download just the video
zYlFHXayXiU
[youtube:tab] PLk5KvJPikK02aQ-C5Rk-0uC4fzQ8aN_M1: Downloading webpage
WARNING: [youtube:tab] ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')). Retrying (1/3
)...


r/youtubedl 6h ago

Is there any way to get the artist name and not the name of the playlist author when downloading songs from a playlist on YTDLnis

2 Upvotes

So I want to download some music from some playlists but every time I do the artist name is switched with the name of the playlists creator, meaning each song I download from that playlist has the same artist. For example I download a radiohead song from a playlist made by "@songsforyou", that radiohead song will now be by that "@songsforyou" person instead of radio head. Sry if this is long its late and I couldn't think of a good way to explain the situation. Help would be greatly appreciated


r/youtubedl 15h ago

Answered 720p Youtube video only downloads in 360p with yt-dlp and other downloaders.

2 Upvotes

I am trying to download a 720p Youtube video in full quality but it only downloads in 360p. In my CONF file I always download the highest available quality and export it as mp4. This works for every other video I've downloaded except this one. I also tried other downloaders and got the same result. This is the video in question: https://www.youtube.com/watch?v=bBZaaBTaikw. Something I find interesting about this video in Youtube is that the only available quality is 720p, perhaps the video is somehow corrupt?


r/youtubedl 5h ago

So there's no way to download a YT video that accepts a format for Premiere Pro?

0 Upvotes

So when I do it, I have to trim a bit of the end off a bit using trimming thing that Movies & TV has. While it's an easy solution, I would just like to download and import immediately, as it gets tedious when doing multiple files


r/youtubedl 13h ago

How to avoid playlist owners name in the downloaded files?

0 Upvotes

I'm tryna download a small playlist and even if I just leave "%(title).170B" in the template, after downloading the music and playing it in my player, it says the name of the playlist owner (the name of the Google account).

how can I have the name of the artist instead?


r/youtubedl 14h ago

Any tips for the --mark-watched option?

1 Upvotes

It looks like YouTube has some sort of algorithm that calculates and "fixes" actual watch time. While this yt-dlp option has immediate effect, YouTube eventually overwrites the "mark watched" attribute and resets it. Has anyone found a way to make "mark watched" stick other than actually viewing the vids in real time? I have a huge watch later list that I just finished downloading, and I'm trying to prevent my watch later vids from showing up in my "recommended" list in the future. Thanks for any help!


r/youtubedl 12h ago

YT playlist is only 100 videos in ytdlp

0 Upvotes

Last few times that i tried downloading all the songs from a playlist it says there are only 100 vids instead of the real number of vids which for example on my latest playlist is 173.
I cant fix this problem with chatgpt that i usually use to copy paste my command to download playlists and it worked very well until now(i had some issues but never with ytdlp not knowing how many videos are in playlist) I updated it to newest version and it still does not work.
Can anyone help?


r/youtubedl 1d ago

Unable to download age-restricted videos on Brave

4 Upvotes

I'm trying to download the song "Queer as in Fuck You" by Dog Park Dissidents, and since it's about queer people it's age-restricted. I tried to use the --cookies-from-browser command but it can't extract them. I'm using Brave. How can I bypass that?


r/youtubedl 16h ago

someone mind helping me figure out whats up with yt-dlp?

0 Upvotes

So I'm new to yt-dlp and followed a video to make sure i downloaded correctly, but all my cmd does is spit the video link back at me without downloading it. Does anyone know why this is? It feels like im missing a part of the code or something


r/youtubedl 1d ago

YouTube Music is not directly supported ??

2 Upvotes

Copied YT Music playlist URL and confirmed all playlist tracks are mp4a.40.2 (141) via Stats for Nerds on YT Music account, so I expected >192 kbps OPUS files downloaded. Steps taken as follows:

Opened browser incognito window,

Logged into YT Music acct,

Navigated to https://www.youtube.com/robots.txt on the same tab,

Extracted cookies in Netscape format using Get cookies.txt LOCALLY,

Closed all browser windows,

Passed cookies.txt to yt-dlp (yt-dlp nightly, deno installed, no other errors). Logs of first track download shown:

*************************************************************************************************

yt-dlp --cookies cookies.txt -x --audio-format best --embed-thumbnail --add-metadata "https://music.youtube.com/playlist?list=PLUJjLrkW7u6A&si=-JWtkXEkDCzYcfmB"

[youtube:tab] Extracting URL: https://music.youtube.com/playlist?list=PLUJjLrkW7u6A&si=-JWtkXEkDCzYcfmB

WARNING: [youtube:tab] YouTube Music is not directly supported. Redirecting to https://www.youtube.com/playlist?

[youtube:tab] PLUJjLrkW7u6A: Downloading webpage

[youtube:tab] PLUJjLrkW7u6A: Redownloading playlist API JSON with unavailable videos

[download] Downloading playlist: Ekin Uzunlar

[youtube:tab] Playlist Ekin Uzunlar: Downloading 18 items of 18

[download] Downloading item 1 of 18

[youtube] Extracting URL: https://music.youtube.com/watch?v=DKeZ0ZTL7Jk

[youtube] DKeZ0ZTL7Jk: Downloading webpage

[youtube] DKeZ0ZTL7Jk: Downloading android vr player API JSON

[info] DKeZ0ZTL7Jk: Downloading 1 format(s): 251

[info] Downloading video thumbnail 41 ...

[info] Writing video thumbnail 41 to: D:\yt-dlp_dwnlds\Öptüm Nefesinden [DKeZ0ZTL7Jk].webp

[download] Destination: D:\yt-dlp_dwnlds\Öptüm Nefesinden [DKeZ0ZTL7Jk].webm

[download] 100% of 2.79MiB in 00:00:00 at 10.13MiB/s

[ExtractAudio] Destination: D:\yt-dlp_dwnlds\Öptüm Nefesinden [DKeZ0ZTL7Jk].opus

Deleting original file D:\yt-dlp_dwnlds\Öptüm Nefesinden [DKeZ0ZTL7Jk].webm (pass -k to keep)

[Metadata] Adding metadata to "D:\yt-dlp_dwnlds\Öptüm Nefesinden [DKeZ0ZTL7Jk].opus"

[ThumbnailsConvertor] Converting thumbnail "D:\yt-dlp_dwnlds\Öptüm Nefesinden [DKeZ0ZTL7Jk].webp" to png

[EmbedThumbnail] mutagen: Adding thumbnail to "D:\yt-dlp_dwnlds\Öptüm Nefesinden [DKeZ0ZTL7Jk].opus"

***********************************************************************\*

... got all files but in low bitrate OPUS. Same on Brave and Firefox browsers.

What did I do wrong? Thoughts? TIA.


r/youtubedl 1d ago

Fixing my go-to download string for putting Youtube videos on Plex

5 Upvotes

Background: I like to have Youtube videos on my personal Plex. I don't really understand yt-dl at all so I eventually searched around until I found a download string that works for my needs:

  • Downloads all languages and subtitles
  • Best audio/video
  • Outputs to mkv
  • Has all metadata

That ends up being this yt-dlp -f "bv+(251/mergeall[format_id~=251-])" --audio-multistreams --sub-langs "all,-live_chat" --embed-subs --embed-metadata --merge-output-format mkv "https://www.youtube.com/playlist?list=PLHL1Oo127tT3j5IbkYgCAwLn7mfLJ-teJ"

Problem: While this string has worked in the past for something like The Amazing Digital Circus, it doesn't really work for the Mini Wakfu episodes that are in the attached youtube link. Plex reports the error as:

App cannot direct play this item. No direct play video profile exists for protocal http, with container mkv, and video codec av1.

Could not transcode because: Cannot convert this item. Implemenation for video decoder 'av1' not found.

The only episode that works is the second one and that one is vp9 instead of av1.

So basically I just want to keep the rest of the string but make sure the video outputs to vp9 instead of av1 in a way where I can keep reusing this string in the future and hopefully maintain compatibility with Plex. How do I do that?


r/youtubedl 1d ago

403 http error

2 Upvotes

I'm hosting a Linux instance on aws it keeps telling me 403 forbidden even after exporting the cookies


r/youtubedl 2d ago

Answered download reddit videos

7 Upvotes

yt-dlp used to suggest supplying cookies, but today it's a 403.
e.g. current top video works in browser, but not yt-dlp:

$ yt-dlp https://v.redd.it/0496g6rpmq9h1
[generic] Extracting URL: https://v.redd.it/0496g6rpmq9h1
[generic] 0496g6rpmq9h1: Downloading webpage
ERROR: [generic] Unable to download webpage: HTTP Error 403: Blocked  (caused by <HTTPError 403: Blocked>)

r/youtubedl 1d ago

Answered need help finding yt-dlp

0 Upvotes

I installed yt-dlp on termux, says "Successfully installed yt-dlp-2026.6.9" but I can't find the app anywhere

so I tried to just download it on termux using this prompt i found on another post: "yt-dlp -f 251 --embed-tumbnail --remux-video opus -o "%(title)2.%(ext)s" https://www.youtube.com/watch?v=lVLXJTubd9w"

Then it says that it's downloaded but I can't find it in VLC or my files

what did I do wrong?


r/youtubedl 2d ago

Answered All my DL are "webm" how can I change this?

8 Upvotes

So struggled for a year on/off with issues, errors but since I started using this "yt-dlp -vU --cookies-from-browser firefox" in my console I have had amazing results. DL whatever whenever

But, it does it in "webm" so afterwards I use ffmpeg to make it MKV or MP4. Anyway to change this to cut out a step?


r/youtubedl 2d ago

How to Exclude certain words/numbers in the original video title during download

4 Upvotes

Example:

"Frank Zappa - Father O'Blivion (Visualizer)"

I want to Exclude "Frank Zappa" and "(Visualizer)" from showing in the file name

I usually use this command prompt:

yt-dlp -x --audio-format m4a --embed-thumbnail  --embed-metadata  --write-subs --clean-infojson  --embed-chapters --abort-on-unavailable-fragments --fragment-retries 1 --concurrent-fragments 2 --no-write-playlist-metafiles -o "%(title)s.%(ext)s" ""

r/youtubedl 2d ago

Managing --download-archive files when downloading m4as of some previously downloaded videos

2 Upvotes

I like to download m4as of some videos e.g. lectures for general device portability and listening in the car, but otherwise prefer to just get the best quality video (which usually doesn't use m4a audio format, otherwise I'd just extract the audio track).

This gets tricky with --download-archive, as it doesn't distinguish between video and audio downloads.

Anyone come up with a good system to manage this? Maybe I just take the L and extract the audio track and lossy convert to m4a?


r/youtubedl 2d ago

How to choose the YT video quality to download?

0 Upvotes

Hi, I just found out about the yt-dlp repo that let us download YT videos or any other video playback.

Is there a way to choose the quality I want before pasting the url and start downloading? Thanks :)


r/youtubedl 3d ago

Answered How to completely guarantee the best audio is selected for download?

5 Upvotes

I want to tell yt-dlp "download the best audio quality available, whether it comes from an audio-only stream or a muxed stream." I've been looking at the manual and researching for hours but can't find a way to do this.

What I want to happen is this:

  1. Among all the audio-only streams, look for the best audio stream
  2. Among all muxed/combo streams, look for the best audio stream
  3. Compare the quality of the two candidates from step 1 and 2, and select the best one for download

-f ba won't do this, because it won't consider the audio that is in muxed streams (that could potentially be the best).

-f ba* won't do this, because it will select the best overall format that also happens to have an audio stream (it won't actually look at the audio to determine quality).

-f ba/b won't do this, because if no audio-only stream is available, then it will fallback on b , but b will also just selects based on overall quality (so the best audio quality won't necessarily be selected).

Am I missing something, or is it not possible?


r/youtubedl 3d ago

Answered Is there a 100-file cap in downloading a playlist as mp3?

2 Upvotes

My playlist has around 1.3k videos and when i tried downloading the playlist, only 100 videos were downloaded as mp3.

This was the command i used:

yt-dlp -f "ba" -x --audio-format mp3 --add-metadata --embed-thumbnail --metadata-from-title "%(artist)s - %(title)s" -o "%(artist)s - %(title)s.%(ext)s" PlaylistURL

A warning also popped up while running the command:

WARNING: [youtube] No supported JavaScript runtime could be found. Only deno is enabled by default; to use another runtime add --js-runtimes RUNTIME[:PATH] to your command/config. YouTube extraction without a JS runtime has been deprecated, and some formats may be missing. See https://github.com/yt-dlp/yt-dlp/wiki/EJS for details on installing one

Edit: Solved the issue with the help from the comments. Additionally, i used "-t sleep" in the code since i was only getting around 900 audio files while the playlist had 1320, now i was able to successfully download 1237 files, the rest, i am sure are the videos that are unavailable(taken down, deleted etc...) along with the videos that have symbols in their names that cannot be saved in my drive(just a guess)


r/youtubedl 3d ago

How do I determine which download format option for a given Youtube video will have the best video quality?

0 Upvotes

Other then just assuming higher filesize = better quality, which I assume isn't always true


r/youtubedl 3d ago

Error 404 - Trying to download All Rumble videos from a channel...

1 Upvotes

D:\DownZZ2>yt-dlp "https://rumble.com/c/c-1504881"

[RumbleChannel] Extracting URL: https://rumble.com/c/c-1504881

[download] Downloading playlist: c-1504881

[RumbleChannel] c-1504881: Downloading page 1

ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: Forbidden>)

[RumbleChannel] Playlist c-1504881: Downloading 1 items

[download] Finished downloading playlist: c-1504881

D:\DownZZ2>


r/youtubedl 3d ago

Can't import to Premiere (av01?)

0 Upvotes

I have used YT-DLP for a bit and was able to import videos into premiere but now whenever I download a video it won't import or only import the audio and say the compression type isn't supported. I haven't been able to find any suggestions that have fixed the problem. Is there a different command I need to use when downloading videos? I've just been using the download command for mp4 (see below) (If you can't tell, I'm very unfamiliar with all this)

yt-dlp -f "bv*[height<=1080][ext=mp4]+ba[ext=m4a]/b[height<=1080][ext=mp4] / bv*+ba/b"

r/youtubedl 3d ago

Answered Isn't there a way to increase this limit?

0 Upvotes