Grab media from anywhere. Paste a link. Get your video.
A beautiful, interactive CLI tool to download videos and audio from any platform — without watermarks, at the highest quality.
🖥️ Want a desktop app instead? → Snag Desktop
- 🌍 Works everywhere — YouTube, TikTok, Instagram, X (Twitter), Facebook, Reddit, and 1000+ more sites
- 🚫 No watermarks — downloads clean TikTok videos without the watermark
- 🎥 Best quality — grabs the highest resolution video + audio and merges them
- 🎵 Audio extraction — download just the audio as MP3
- 📺 Quality selection — choose between Best, 720p, 480p, or 360p
- 🎨 Beautiful interactive UI — styled terminal interface with step-by-step prompts
- ⚡ Fast — streams directly from source, no middleman servers
- 🔧 Flag mode — skip the prompts with CLI flags for scripting
╭──────────────────────────────────────────────────────────╮
│ │
│ 🎬 Snag — grab media from anywhere │
│ │
│ Paste your URL here │
│ │
│ (press Enter to continue) │
│ │
╰──────────────────────────────────────────────────────────╯
╭──────────────────────────────────────────────────────────╮
│ │
│ ✅ Download complete! │
│ │
│ Saved to: ./downloads/My Video Title.mp4 │
│ │
│ Press q to quit │
│ │
╰──────────────────────────────────────────────────────────╯
brew install Verifieddanny/tap/snagThat's it. Homebrew handles yt-dlp and ffmpeg as dependencies.
go install github.com/Verifieddanny/snag/cmd/snag@latest
# Add Go bin to your PATH (if not already)
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.zshrc
source ~/.zshrc
# For bash users, use ~/.bashrc instead of ~/.zshrcNote: You'll also need
yt-dlpandffmpeginstalled separately:# macOS brew install yt-dlp ffmpeg # Linux sudo apt install yt-dlp ffmpeg # Windows choco install yt-dlp ffmpeg
git clone https://github.com/Verifieddanny/snag.git
cd snag
go build -o bin/snag ./cmd/snag/Just run snag with no arguments and follow the prompts:
snagThe interactive UI will guide you through:
- Paste your URL — from any supported platform
- Choose media type — Video or Audio Only
- Select quality — Best, 720p, 480p, or 360p
- Confirm & download — watch the progress in real time
# Download video at best quality
snag -url="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Download audio only as MP3
snag -url="https://youtu.be/example" -audio-only
# Download at 720p to a custom directory
snag -url="https://youtu.be/example" -quality=720 -o=~/Videos
# Download TikTok without watermark
snag -url="https://vt.tiktok.com/ZSxV8G3Lp/"| Flag | Default | Description |
|---|---|---|
-url |
— | URL to download |
-o |
./downloads |
Output directory |
-audio-only |
false |
Extract audio as MP3 |
-quality |
best |
Video quality: best, 720, 480, 360 |
| Platform | Video | Audio | No Watermark |
|---|---|---|---|
| YouTube | ✅ | ✅ | ✅ |
| TikTok | ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ | |
| X (Twitter) | ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ | |
| ✅ | ✅ | ✅ | |
| 1000+ more | ✅ | ✅ | varies |
snag/
├── cmd/
│ └── snag/
│ ├── main.go # Entry point & flag mode
│ └── interactive.go # Bubbletea interactive UI
├── internal/
│ └── downloader/
│ └── downloader.go # yt-dlp wrapper & download logic
├── go.mod
└── Makefile
- Interactive CLI with Bubbletea
- Multi-platform support (YouTube, TikTok, Instagram, X, etc.)
- Quality selection
- Audio extraction
- No-watermark TikTok downloads
- Homebrew formula
- Desktop app (macOS) — Snag Desktop
- Playlist support
- Batch downloads from file
Contributions are welcome! Feel free to open issues or submit PRs.
# Clone the repo
git clone https://github.com/Verifieddanny/snag.git
cd snag
# Install dependencies
go mod tidy
# Run in development
go run ./cmd/snag/MIT License — see LICENSE for details.