Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YTDownloader

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.

Features

  • 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-dlp reports them.
  • Supports pause, resume, cancel, and clearing finished jobs.
  • Saves files to ~/Downloads/YouTube.
  • Bundles yt-dlp, ffmpeg, and ffprobe into the app package during build.

Download

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.

Install

  1. Download the DMG from the release page.
  2. Open it and drag YTDownloader.app into /Applications.
  3. Launch YTDownloader.
  4. 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.app

Build From Source

Requirements:

  • macOS 13 or later
  • Xcode command line tools
  • curl

Build the app and package a DMG:

cd YTDownloader
make dmg

The build downloads yt-dlp, ffmpeg, and ffprobe into YTDownloader/Resources/bin/. These generated binaries and DMG files are intentionally ignored by git.

Versioning

Release versions use semantic tags such as v1.0.0.

When preparing a new release, update:

  • YTDownloader/Info.plist: CFBundleShortVersionString and CFBundleVersion
  • YTDownloader/YTDownloader.xcodeproj/project.pbxproj: MARKETING_VERSION and CURRENT_PROJECT_VERSION
  • CHANGELOG.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.

Notes

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.

About

Native macOS YouTube downloader built with SwiftUI, yt-dlp, and ffmpeg.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages