Self-hosted video & audio downloader with a minimal dark UI.
Paste a link. Pick a format. Download.
Quick Start · Docker · Features · Tech Stack
| Feature | Description | |
|---|---|---|
| MP4 | Video download | Best quality video with merged audio, up to 4K |
| MP3 | Audio extraction | Pull audio from any video — music, podcasts, lectures |
| 1000+ | Supported sites | YouTube, TikTok, Instagram, X, Reddit, Vimeo, Twitch, and more |
| Live | Progress tracking | Real-time download progress with auto-download on completion |
| Private | No tracking | Self-hosted. No ads, no analytics, no data collection |
| Docker | One command deploy | docker compose up -d and you're live |
Prerequisites: Node.js 20+, yt-dlp, ffmpeg
git clone https://github.com/thegauravmahto/saveit.git
cd saveit
npm install
npm run devOpen http://localhost:3000.
No dependencies needed — yt-dlp and ffmpeg are pre-installed in the image.
docker compose up -dAccess at http://localhost:3000.
Paste URL → Fetch metadata → Pick MP4/MP3 → Download → Auto-cleanup
- Paste — App calls
yt-dlp --dump-jsonto fetch title, thumbnail, and duration - Choose — Select video (MP4) or audio-only (MP3)
- Download — Backend spawns
yt-dlp, frontend polls for progress - Save — File auto-downloads to your browser when complete
- Cleanup — Temp files are removed after 10 minutes
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, TypeScript) |
| UI | shadcn/ui + Tailwind CSS v4 |
| Design System | Linear — dark-mode-first, Inter Variable |
| Download Engine | yt-dlp (1000+ sites) |
| Audio Processing | ffmpeg |
| Deployment | Docker + Docker Compose |
YouTube, TikTok, Instagram, Twitter/X, Reddit, Vimeo, Twitch, SoundCloud, Facebook, Dailymotion, Bilibili, Bandcamp, Spotify (podcasts), Pinterest, Tumblr, and 1000+ more.
MIT