Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
Y

youtube-dl-wpf

> 编程语言
Open source

WPF GUI for youtube-dl and yt-dlp.

1.2K stars0 likes0 views
WebsiteGitHub

About

WPF GUI for youtube-dl and yt-dlp.

⬇ Cube YouTube Downloader - youtube-dl-wpf

WPF GUI for youtube-dl and yt-dlp.

Features

  • Follow system color mode, or choose between dark mode and light mode.
  • Update youtube-dl/yt-dlp on startup.
  • List all available formats.
  • Override video, audio formats and output container.
  • Embed metadata into downloaded file.
  • Download and embed thumbnails.
  • Download whole playlists.
  • Select items from playlist to download.
  • Select types of subtitles (default, all languages, auto-generated) to download and embed.
  • Specify custom output template.
  • Specify custom download path.
  • Specify custom FFmpeg path.
  • Specify custom proxy.
  • Specify custom command-line arguments.

Usage

  1. Download the pre-built binary or build it from source.
  2. Download yt-dlp or youtube-dl.
  3. It's optional but highly recommended to also download FFmpeg. Otherwise you won't be able to merge separate video and audio tracks.
  4. The framework-dependent binary requires an installed .NET Runtime to run. Alternatively, download the self-contained binary that bundles the runtime.
  5. Run youtube-dl-wpf.exe. Go to Settings. Set the path to youtube-dl/yt-dlp and FFmpeg.
  6. Go back to the home tab. Paste a video URL and start downloading!

FAQ

  1. Q: The Download button is grayed out and I can't click it!

    A: youtube-dl-wpf is a simple GUI wrapper. It doesn't bundle any downloader with it. You have to download youtube-dl or yt-dlp for it to work. FFmpeg is required by youtube-dl and yt-dlp when merging separate video and audio tracks, which is the case for most formats on YouTube.

  2. Q: How can I use a proxy to download?

    A: Leave the proxy field empty to use system proxy settings. Otherwise the format is similar to how curl accepts proxy strings (e.g. socks5://localhost:1080/, http://localhost:8080/). Currently the upstream doesn't accept socks5h protocol and treat socks5 as socks5h by always resolving the hostname using the proxy. This is tracked in this issue.

  3. Q: Downloading the whole playlist doesn't work!

    A: It's an upstream bug, just like many other issues you might discover. There's nothing I can do. Just report the bug to yt-dlp or youtube-dl, whichever you use.

  4. Q: youtube-dl and yt-dlp behave differently!

    A: In some cases, yes, and youtube-dl-wpf tries to align their behavior by sending different options and arguments for different backends. See the backends documentation for more information.

Known Issues

  • No known issues!

To-Do

  • v2.0 - The Parallel Update: download management and download queue for parallel downloads.

Build

Prerequisites: .NET 9 SDK

Build with Release configuration

bash
dotnet build -c Release

Publish as framework-dependent

bash
dotnet publish YoutubeDl.Wpf -c Release

Publish as self-contained for Windows x64

bash
dotnet publish YoutubeDl.Wpf -c Release -r win-x64 --self-contained

License

  • This project is licensed under GPLv3.
  • The icons are from Material Design Icons and are licensed under the Pictogrammers Free License.
  • youtube-dl and yt-dlp are licensed under The Unlicense.
  • Material Design Themes is licensed under MIT.
  • Roboto Mono is licensed under the Apache License, Version 2.0.
  • ReactiveUI and its dependencies are licensed under MIT.

© 2025 database64128

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C#c-sharpdotnetdownloadergui

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言