Skip to content
Switch branches/tags


Failed to load latest commit information.

fuck you riaa


GUI for youtube-dl + FFmpeg (ffmpeg.exe & ffprobe.exe) (which is used for converting).

The goal of youtube-dl-gui is to make it as accessible to as many people as possible, which means a lot of power-user options aren't available in the general settings.

That doesn't mean that power users can't use it, either. I included custom arguments for anyone who wants to set their own for downloading or converting.


This requires .NET Framework 4.5 or higher, the reasoning is because this program frequently uses Github's API which now only allows TLS 1.2, which isn't available on previous frameworks because... Microsoft.

As soon as everything is settled, I can work on a more compatible version for < NET 4.5.


On first start, be sure to read the dialogs.

This program won't run without youtube-dl being in either the same directory as youtube-dl-gui, or in the system's PATH. It's designed to download youtube-dl for you if it does not find one.

Downloading with custom formats and converting in any way will require FFmpeg, which you can download and put the files in "ffmpeg/bin/*.exe" in with the same directory as youtube-dl-gui or extract it anywhere and put the bin directory into your windows PATH.

The static paths for youtube-dl and ffmpeg may be set, which will allow you to select the executable, for youtube-dl, and/or the directory, for ffmpeg.

Custom Arguments

When using custom arguments, the url and save directory are automatically passed, url being the first thing passed, followed by custom arguments, and the save-to directory being the final one passed.


  • youtube-dl.exe https://awebsite.tld/video.html <custom arguments> -o "C:\Users\User\Downloads"
  • ffmpeg.exe -i "C:\Users\User\Downloads\VideoToConvert.ext" <custom arguments> "C:\Users\User\Downloads\FileOutput.ext"

Compatible sites


For anyone looking to translate, feel free to open a pull request with the new language file in the lang folder. Check if a language you're translating exists already, and you can edit it off of that.

For anyone looking to contribute to the code, make a pull request with the changed code.

Future plans

stuff and things