YTDownloader is a small macOS app for downloading YouTube videos from a copied or pasted link. It wraps yt-dlp and ffmpeg in a native SwiftUI interface, so downloads can run without keeping a terminal window open.
- Auto-detects YouTube links copied to the clipboard.
- Supports manual paste-and-download from the app window.
- Offers quality choices: best, 1080p, 720p, 480p, 360p, or audio-only MP3.
- Shows live download progress, speed, ETA, and size when
yt-dlpreports them. - Supports pause, resume, cancel, and clearing finished jobs.
- Saves files to
~/Downloads/YouTube. - Bundles
yt-dlp,ffmpeg, andffprobeinto the app package during build.
Use the latest GitHub Release and download the .dmg asset.
Current version: v1.0.0
The published DMG is built on Apple Silicon and is named with its architecture, for example YTDownloader-v1.0.0-arm64.dmg. Intel Macs can build locally from source.
- Download the DMG from the release page.
- Open it and drag
YTDownloader.appinto/Applications. - Launch
YTDownloader. - Copy a YouTube link, or paste one into the app and choose
Go.
This first release is ad-hoc signed and not notarized. If macOS blocks the app, open it from Finder with Control-click > Open, or remove quarantine after installing:
xattr -dr com.apple.quarantine /Applications/YTDownloader.appRequirements:
- macOS 13 or later
- Xcode command line tools
curl
Build the app and package a DMG:
cd YTDownloader
make dmgThe build downloads yt-dlp, ffmpeg, and ffprobe into YTDownloader/Resources/bin/. These generated binaries and DMG files are intentionally ignored by git.
Release versions use semantic tags such as v1.0.0.
When preparing a new release, update:
YTDownloader/Info.plist:CFBundleShortVersionStringandCFBundleVersionYTDownloader/YTDownloader.xcodeproj/project.pbxproj:MARKETING_VERSIONandCURRENT_PROJECT_VERSIONCHANGELOG.md- the Git tag and release title
The Makefile reads CFBundleShortVersionString from Info.plist and creates versioned release assets like YTDownloader-v1.0.0-arm64.dmg.
YTDownloader uses yt-dlp, so site changes may occasionally require a fresh build or manually replacing the bundled yt-dlp binary. The app is intended for personal downloads where you have the right to save the media.