A modern, fast, and cross-platform desktop application for downloading videos and audio from YouTube, Instagram, Twitch, TikTok, Twitter/X, Reddit, Facebook, Vimeo, SoundCloud, and 1800+ other websites.
Powered by yt-dlp and built with Tauri v2 (Rust backend) and React + TypeScript + Tailwind CSS (frontend).
π Get Latest Release (macOS, Windows, Linux)
Note for macOS How to Fix "Damaged Application" Warning When you first download KeepMeTube, macOS may show a "KeepMeTube is damaged and can't be opened" warning, even though the application is perfectly fine.
Why This Happens macOS automatically marks files downloaded from the internet with a "quarantine" attribute for security. This is a safety featureβit helps prevent accidentally running malicious software. However, since KeepMeTube is not yet notarized by Apple (a process that requires Apple Developer Program membership), macOS treats it as potentially untrusted and refuses to open it.
The warning is misleading. The app isn't actually damaged. macOS is simply being cautious about an unsigned application.
How to Fix It Copy and paste this command into Terminal, then press Enter:
xattr -d com.apple.quarantine "/Applications/KeepMeTube.app"
This command tells macOS to remove the quarantine flag from the app. After running it once, you'll be able to open KeepMeTube normally without any warnings.
Is It Safe? Yes. You're telling your Mac to trust this specific application. The command only removes the quarantine markβit doesn't modify the app itself or bypass any other security features. Your system will still protect you from other potentially harmful software.
Alternative: Right-Click to Open If you prefer not to use Terminal, you can also:
Right-click the KeepMeTube app in Finder Select "Open" Click "Open" in the warning dialog This bypasses the warning once, but you'll see it again next time you launch the app. Using the Terminal command is a permanent fix.
Although named KeepMeTube, the application leverages yt-dlp's universal extractor engine and supports over 1,800 websites and platforms, including:
| Platform | Supported Content |
|---|---|
| YouTube | Videos, Shorts, Playlists, Audio-only streams (up to 4K/8K) |
| Reels, Stories, Posts, IGTV | |
| Twitch | Clips, Full VODs, Highlights |
| TikTok | Videos, Audio tracks (with or without watermark) |
| Twitter / X | Video tweets, GIFs |
| Hosted video posts with merged audio | |
| Public & shared video posts, Reels | |
| SoundCloud | High-quality music tracks, Sets |
| Vimeo | HD & 4K video streams |
| Bilibili / Dailymotion / Pinterest | Full video downloads |
| +1800 more platforms | Full list of supported extractors |
- π 1800+ Websites Supported: Download videos, clips, reels, and audio from virtually any online video or streaming platform.
- π Automatic yt-dlp Version Check: Checks for new yt-dlp updates on startup and offers one-click upgrades to keep site extractors compatible.
- πͺ Authentication & Cookies (cookies.txt): Optional cookies support to download age-restricted, member-only, or private content across YouTube and other platforms.
- π Multi-Language Support: 10 built-in languages (English, TΓΌrkΓ§e, EspaΓ±ol, FranΓ§ais, Deutsch, PortuguΓͺs, Ψ§ΩΨΉΨ±Ψ¨ΩΨ©, ζ₯ζ¬θͺ, νκ΅μ΄, δΈζ).
- βοΈ Settings Drawer: Easy management of cookies, appearance themes, and language preferences.
- π Real-time Progress: Live download percentage, speed tracking, and status indicators.
- π¨ Modern Theming: Native Dark mode, Light mode, and automatic OS system theme following.
- π File Management: Direct access to downloaded files in Finder / Windows Explorer / Linux file manager.
- βοΈ File Operations: Rename downloaded files and manage history.
- π Queue Manager: Up to 3 concurrent downloads with automatic queue handling.
- πΎ Persistent History: Download history is preserved across application restarts.
- π οΈ Dependency Auto-Detection: Checks for
yt-dlpandffmpegon first launch with one-click installation support.
Most public videos across YouTube, Instagram, and Twitch do not require authentication. However, for age-restricted (+18) videos, member-only streams, private accounts, or high-tier formats, passing a
cookies.txtfile authenticates your session as a real logged-in user.
- Install a Browser Extension:
- Chrome / Edge / Brave / Opera: Get cookies.txt locally (Chrome Web Store)
- Firefox: cookies.txt (Firefox Add-ons)
- Log in to the Website:
- Open your browser and log in to your account (e.g. YouTube, Instagram, etc.).
- Export Cookies:
- Click the extension icon and select Export / Download.
- Save the file as
cookies.txton your computer.
- Select in KeepMeTube:
- Open KeepMeTube and click Settings (βοΈ) or use the banner inside the Add Download modal.
- Click "Select cookies.txt" and choose your file.
- The file path is saved automatically; you only need to select it once!
The app requires two external tools. On first launch, it will check for these and offer to install them:
- yt-dlp β The video & audio downloader engine
- ffmpeg β Required for merging video + audio streams and format conversion
- Rust (1.70+) β Install via rustup
- Node.js (18+) β Download
- npm (9+) β Comes with Node.js
- Xcode Command Line Tools:
xcode-select --install - Homebrew (recommended): brew.sh
- WebView2 Runtime (usually pre-installed on Windows 10/11)
- Build Tools for Visual Studio
webkit2gtk-4.1and related libraries:# Debian/Ubuntu sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev # Fedora sudo dnf install webkit2gtk4.1-devel openssl-devel curl wget file libappindicator-gtk3-devel librsvg2-devel
npm installnpm run tauri devThis starts both the Vite dev server (frontend HMR) and the Tauri Rust backend.
npm run tauri buildThis produces platform-specific installer bundles:
| Platform | Output |
|---|---|
| macOS | src-tauri/target/release/bundle/dmg/KeepMeTube.dmg |
| Windows | src-tauri/target/release/bundle/msi/KeepMeTube.msi |
| Linux | src-tauri/target/release/bundle/appimage/KeepMeTube.AppImage |
brew install yt-dlp ffmpegwinget install yt-dlp.yt-dlp
winget install Gyan.FFmpeg# yt-dlp
pip3 install yt-dlp
# ffmpeg
sudo apt install ffmpeg # Debian/Ubuntu
sudo dnf install ffmpeg # Fedora
sudo pacman -S ffmpeg # Archβββ src/ # React Frontend (TypeScript)
β βββ components/ # UI Components (Download List, Modals, Settings, Dialogs)
β βββ store/ # Zustand state management
β βββ hooks/ # Custom React hooks (Language, Theme, ContextMenu)
β βββ lib/ # API wrappers (Tauri IPC), i18n, utils
β βββ types/ # TypeScript type definitions
βββ src-tauri/ # Rust Backend (Tauri v2)
β βββ src/
β βββ commands/ # Tauri command handlers (Download, Analyze, Dependencies, File Ops)
β βββ state.rs # App state types
β βββ store.rs # JSON persistence & configuration
MIT