A clean, modern desktop application for downloading videos and audio from YouTube and other platforms. Built with Tauri and React, powered by yt-dlp.
- 🎥 Video & Audio Downloads - Download videos or extract audio-only files
- 🎯 Quality Selection - Choose from available quality options or get the best quality automatically
- 🎨 Clean Interface - Modern UI built with shadcn/ui components
- 🌓 Light/Dark Mode - Automatic theme switching with system preferences
- ⚡ Fast & Lightweight - Native performance with Tauri's Rust backend
- 📊 Progress Tracking - Real-time download progress with speed and ETA
- ⌨️ Keyboard Shortcuts - Quick actions with CMD+N (reset) and Enter (fetch)
- 🔄 Auto-Updates - Built-in yt-dlp binary download and updates
- 🖥️ Cross-Platform - Available for macOS, Linux, and Windows
Download the latest release for your platform from the Releases page:
- macOS: Download the
.dmgfile (Apple Silicon or Intel) - Linux: Download
.AppImage,.deb, or.rpmpackage - Windows: Download the
.msior.exeinstaller
Important: The releases are currently unsigned. macOS will show a warning that the app is "damaged" or from an "unidentified developer."
To bypass this security warning, use one of these methods:
Method 1: Remove Quarantine Attribute (Recommended)
# After mounting the DMG
xattr -cr /Volumes/ytdlp-gui/ytdlp-gui.app
# Or after copying to Applications
xattr -cr /Applications/ytdlp-gui.appMethod 2: System Settings
- Try to open the app (it will be blocked)
- Go to System Settings → Privacy & Security
- Scroll down to find "ytdlp-gui was blocked"
- Click "Open Anyway"
Method 3: Build Locally
git clone https://github.com/bogdankharchenko/ytdlp-gui.git
cd ytdlp-gui
npm install
npm run tauri buildThe locally built app in src-tauri/target/release/bundle/ will work without any security warnings.
Note: Proper code signing will be added in a future release. This requires an Apple Developer account.
- Paste a URL - Enter a YouTube or supported video URL
- Press Enter or click Fetch - The app will retrieve video information
- Choose Format - Select Video or Audio, then pick your preferred quality
- Download - Click the download button and choose where to save
Enter- Fetch video informationCMD+N(orCTRL+N) - Reset and start a new download
YT-DLP GUI supports downloading from any platform that yt-dlp supports, including:
- YouTube
- Vimeo
- Twitter/X
- TikTok
- And 1000+ more sites
- Node.js (LTS version)
- Rust
- Tauri prerequisites for your platform
# Clone the repository
git clone https://github.com/bogdankharchenko/ytdlp-gui.git
cd ytdlp-gui
# Install dependencies
npm install
# Run in development mode
npm run tauri dev# Build for production
npm run tauri buildThe built application will be in src-tauri/target/release/.
- Frontend: React 18, Vite
- UI Components: shadcn/ui, Tailwind CSS, Lucide icons
- Backend: Tauri 2.x (Rust)
- Downloader: yt-dlp (automatically downloaded during build)
- Icons: Lucide React
- Binary Management: The app automatically downloads the appropriate yt-dlp binary for your platform during build time
- Video Information: Uses yt-dlp's JSON output to fetch video metadata and available formats
- Download Process: Spawns yt-dlp as a subprocess and parses progress output in real-time
- Format Selection: Filters and sorts available formats by quality and codec
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE for details
- yt-dlp - The amazing command-line downloader
- Tauri - Build smaller, faster desktop applications
- shadcn/ui - Beautiful UI components
This tool is for personal use only. Please respect content creators and platform terms of service. Only download content you have permission to download.