A native macOS GUI wrapper for yt-dlp written in Rust. Optimized for Apple Silicon (M-series) Macs.
Just want to use the app? Download the pre-built version:
- Go to Releases
- Download
YtDlp-GUI-macOS.zip - Unzip and drag
YtDlp GUI.appto your Applications folder - First launch: Right-click → Open (to bypass Gatekeeper)
Before using the app, install these via Terminal:
brew install yt-dlp ffmpegDon't have Homebrew? Install it first: https://brew.sh
- macOS 11.0 or later (Big Sur+)
- Apple Silicon (M-series) or Intel Mac
- Homebrew (recommended for dependency management)
- Rust toolchain (will be installed automatically if missing)
Use the provided setup script which will automatically check for Rust and install it if needed:
# Clone the repository
git clone https://github.com/kbss0000/ytdlp-gui.git
cd ytdlp-gui
# Run the setup script
./setup-macos.shThe script will:
- Check if Rust is installed, and install it via Homebrew if needed
- Check for required dependencies (yt-dlp, ffmpeg)
- Build the project in release mode (only the
ytdlp-guipackage)
macOS apps launched from Finder/Dock do not inherit your shell PATH, so yt-dlp installed via Homebrew may not be found unless we add Homebrew paths. This script creates a .app bundle with a launcher wrapper that adds /opt/homebrew/bin (Apple Silicon) and /usr/local/bin (Intel) to PATH.
./make-macos-app.sh
open "dist/YtDlp GUI.app"Note: setup-macos.sh and make-macos-app.sh are thin wrappers. The actual scripts live in scripts/macos/.
After creating the app bundle, you can:
- Drag
dist/YtDlp GUI.appto your/Applicationsfolder - Pin it to your Dock for easy access
- Launch it from Spotlight (⌘+Space, type "YtDlp GUI")
If you don't have Rust installed, you can install it using Homebrew (recommended for Apple Silicon):
brew install rustOr using rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shAfter installation, restart your terminal or run:
source $HOME/.cargo/envInstall yt-dlp and ffmpeg using Homebrew:
brew install yt-dlp ffmpegOr download yt-dlp manually from releases and ffmpeg from ffmpeg.org.
# Clone the repository
git clone https://github.com/kbss0000/ytdlp-gui.git
cd ytdlp-gui
# Build in release mode
cargo build -p ytdlp-gui --releaseThe binary will be at target/release/ytdlp-gui. Run it with:
./target/release/ytdlp-guiOr using cargo:
cargo run --releaseSince v3.0.0 the application has a settings tab which will contain the settings that the user will most likely want to configure.
The settings are located in ~/Library/Application Support/ytdlp-gui/config.toml
This wrapper is optimized for Apple Silicon Macs:
- Native ARM64 builds for M1, M2, M3, and later
- Automatic Homebrew path detection (
/opt/homebrew/bin) - Optimized for macOS native frameworks
If you launch the .app bundle and it can't find yt-dlp or ffmpeg:
- Make sure they're installed via Homebrew:
brew install yt-dlp ffmpeg - Check they're in your PATH:
which yt-dlpandwhich ffmpeg - The
.appbundle automatically adds Homebrew paths, but you can also specify the binary path in the app's Settings tab
If the build fails:
- Make sure Rust is installed:
rustc --version - Make sure you have Xcode Command Line Tools:
xcode-select --install - Try cleaning and rebuilding:
cargo clean && cargo build -p ytdlp-gui --release
GPL-3.0