YouTubeDownloader is a modern, cross-platform desktop app for downloading YouTube videos in the best available quality (video + audio merged).
It features a clean user interface, queue management, activity logs, and retry handling.
Executables for Windows, Linux, and macOS are published automatically via GitHub Releases.
- Modern GUI with dark theme, queue view, activity log, and progress bar.
- Download best possible resolution (
bestvideo+bestaudiomerged with ffmpeg). - Retries failed downloads up to 3 times with visible countdown logs.
- Queue displays video titles instead of raw URLs.
- Remove or clear queue items at any time.
- Animated progress bar with per-item status updates.
- Saves files into a
downloads/folder with video title and ID in the filename. - Prebuilt executables for Windows, Linux, and macOS.
- Custom app logo (
assets/logo.png) used in UI and as application icon. - Open source, licensed under MIT.
- Download the latest release for your platform from the Releases page.
- Extract (if
.tar.gz) or place the executable in any folder. - Run the app:
- Windows: Double-click
YouTubeDownloader.exe - Linux/macOS:
chmod +x YouTubeDownloader ./YouTubeDownloader
- Windows: Double-click
- Paste one or more YouTube links into the input box.
- Press Add, then choose Download All or Download Selected.
- Downloads are saved into the
downloads/folder.
pip install -r requirements.txtpython main.py- Place
ffmpeg(and optionallyffprobe) into anffmpeg/folder. - Run:
pyinstaller --onefile --name "YouTubeDownloader.exe" --add-data "ffmpeg;ffmpeg" main.py
- The executable will be in
dist/.
This repo includes a workflow that:
- Builds Windows, Linux, and macOS executables on tagged releases (
v1.0.0, etc.). - Downloads a fresh portable ffmpeg build for each OS at build time.
- Uploads all executables to the GitHub Release page.
- This tool is for personal use only. Make sure your usage complies with YouTube’s Terms of Service.
- Executables are unsigned; on Windows/macOS you may see a SmartScreen or Gatekeeper warning.
- Antivirus software may flag PyInstaller-built executables — this is a common false positive.
- Large playlists are not currently supported (single videos only).
This project is licensed under the MIT License.
- yt-dlp — YouTube downloader library
- ffmpeg — video and audio processing
- PySide6 — Qt bindings for Python
- PyInstaller — packaging into standalone executables
