A self-hosted, open-source video and audio downloader with a clean web UI. Paste links from YouTube, TikTok, Instagram, Twitter/X, and 1000+ other sites — download as MP4 or MP3.
preview.mp4
- Passkey authentication (WebAuthn) with biometric unlock support
- Download videos from 1000+ supported sites (via yt-dlp)
- MP4 video or MP3 audio extraction
- Quality/resolution picker
- Bulk downloads — paste multiple URLs at once
- Automatic URL deduplication
- Clean, responsive UI — no frameworks, no build step
- TypeScript backend — no compilation step (runs directly with Bun)
brew install yt-dlp ffmpeg # or: apt install ffmpeg && curl -fsSL https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod +x /usr/local/bin/yt-dlp
brew install bun # or: curl -fsSL https://bun.sh/install | bash
git clone https://github.com/averygan/reclip.git
cd reclip
./reclip.shOpen http://localhost:8899.
On first launch, you'll be prompted to create a passkey. After that, login is required to access downloads and API endpoints.
Or with Docker:
docker build -t reclip . && docker run -p 8899:8899 reclipOr with Docker Compose (persists passkeys in .config):
docker compose up --build -dReClip now requires passkey login.
- First run: register the first passkey for this server instance
- Later runs: sign in with your passkey (Face ID, fingerprint, device PIN, etc.)
- Protected routes: all download/info API routes require an authenticated session
Passkey storage is persisted in .config/passkey.json.
AUTH_RP_NAME(default:ReClip)AUTH_RP_ID(optional override; default derives from request hostname)AUTH_ORIGIN(optional override; default derives from request origin)
For biometrics on phones and cross-device passkeys, use HTTPS with a stable domain and set AUTH_ORIGIN/AUTH_RP_ID accordingly.
When ReClip is behind a reverse proxy that terminates TLS, it will use Forwarded, X-Forwarded-Proto, and X-Forwarded-Host headers to reconstruct the browser-facing origin automatically. If your proxy does not send those headers, set AUTH_ORIGIN=https://your-domain and AUTH_RP_ID=your-domain explicitly.
- Paste one or more video URLs into the input box
- Choose MP4 (video) or MP3 (audio)
- Click Fetch to load video info and thumbnails
- Select quality/resolution if available
- Click Download on individual videos, or Download All
Anything yt-dlp supports, including:
YouTube, TikTok, Instagram, Twitter/X, Reddit, Facebook, Vimeo, Twitch, Dailymotion, SoundCloud, Loom, Streamable, Pinterest, Tumblr, Threads, LinkedIn, and many more.
This tool is intended for personal use only. Please respect copyright laws and the terms of service of the platforms you download from. The developers are not responsible for any misuse of this tool.
