Skip to content

kbss0000/ytdlp-gui

Repository files navigation

yt-dlp GUI for macOS

A native macOS GUI wrapper for yt-dlp written in Rust. Optimized for Apple Silicon (M-series) Macs.

macOS Rust License


Easy Install (Recommended)

Just want to use the app? Download the pre-built version:

  1. Go to Releases
  2. Download YtDlp-GUI-macOS.zip
  3. Unzip and drag YtDlp GUI.app to your Applications folder
  4. First launch: Right-click → Open (to bypass Gatekeeper)

Prerequisites

Before using the app, install these via Terminal:

brew install yt-dlp ffmpeg

Don't have Homebrew? Install it first: https://brew.sh


Build from Source

Requirements

  • 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)

Quick Setup (Recommended)

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.sh

The 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-gui package)

Create a Double-Clickable .app Bundle

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.app to your /Applications folder
  • Pin it to your Dock for easy access
  • Launch it from Spotlight (⌘+Space, type "YtDlp GUI")

Manual Setup

1. Install Rust

If you don't have Rust installed, you can install it using Homebrew (recommended for Apple Silicon):

brew install rust

Or using rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

After installation, restart your terminal or run:

source $HOME/.cargo/env

2. Install Dependencies

Install yt-dlp and ffmpeg using Homebrew:

brew install yt-dlp ffmpeg

Or download yt-dlp manually from releases and ffmpeg from ffmpeg.org.

3. Build from Source

# Clone the repository
git clone https://github.com/kbss0000/ytdlp-gui.git
cd ytdlp-gui

# Build in release mode
cargo build -p ytdlp-gui --release

The binary will be at target/release/ytdlp-gui. Run it with:

./target/release/ytdlp-gui

Or using cargo:

cargo run --release

Configuration

Since 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

Note: the quality/format options get automatically saved when pressing the download button

Apple Silicon (M-series) Optimization

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

Troubleshooting

App can't find yt-dlp or ffmpeg

If you launch the .app bundle and it can't find yt-dlp or ffmpeg:

  1. Make sure they're installed via Homebrew: brew install yt-dlp ffmpeg
  2. Check they're in your PATH: which yt-dlp and which ffmpeg
  3. The .app bundle automatically adds Homebrew paths, but you can also specify the binary path in the app's Settings tab

Build fails

If the build fails:

  1. Make sure Rust is installed: rustc --version
  2. Make sure you have Xcode Command Line Tools: xcode-select --install
  3. Try cleaning and rebuilding: cargo clean && cargo build -p ytdlp-gui --release

License

GPL-3.0

About

A native macOS GUI wrapper for yt-dlp written in Rust. Optimized for Apple Silicon.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors