A free, open-source CLI tool for downloading videos and audio from 1000+ websites. Inspired by tools like Downie and PullTube, but completely free!
Built with Go for blazingly fast performance! 🚀
Works with any site supported by yt-dlp, including:
- YouTube - Videos, playlists, channels
- Vimeo - Videos and channels
- Twitter/X - Videos and GIFs
- TikTok - Videos
- Instagram - Videos, Reels, Stories
- Facebook - Videos
- Twitch - VODs and clips
- Reddit - Videos from v.redd.it
- Dailymotion - Videos
- And 1000+ more! - Full list
- Download videos from 1000+ websites
- Cookie authentication for YouTube bot detection bypass
- Various quality options (360p to 4K)
- Audio-only extraction (MP3, M4A, etc.)
- Playlist and channel support
- Beautiful real-time progress bars
- Cross-platform (Windows, macOS, Linux)
- Single binary - no dependencies to install
- Fast startup - < 1ms
- No ads, no paywalls, just downloads
macOS (Homebrew):
brew tap vib795/tap
brew install pull-vidsWindows (Chocolatey):
choco install pull-vidsUbuntu/Debian (APT):
sudo add-apt-repository ppa:vib795/pull-vids
sudo apt update
sudo apt install pull-vidsArch Linux (AUR):
yay -S pull-vidsLinux (Snap):
sudo snap install pull-vidsmacOS / Linux:
curl -fsSL https://raw.githubusercontent.com/vib795/pull-vids/main/install.sh | bashWindows (PowerShell as Administrator):
irm https://raw.githubusercontent.com/vib795/pull-vids/main/install.ps1 | iexDownload the latest release for your platform from Releases:
macOS:
# Intel Mac
curl -L https://github.com/vib795/pull-vids/releases/latest/download/pull-vids-darwin-amd64 -o pull-vids
chmod +x pull-vids
sudo mv pull-vids /usr/local/bin/
# Apple Silicon (M1/M2/M3)
curl -L https://github.com/vib795/pull-vids/releases/latest/download/pull-vids-darwin-arm64 -o pull-vids
chmod +x pull-vids
sudo mv pull-vids /usr/local/bin/Linux:
# AMD64
curl -L https://github.com/vib795/pull-vids/releases/latest/download/pull-vids-linux-amd64 -o pull-vids
chmod +x pull-vids
sudo mv pull-vids /usr/local/bin/
# ARM64
curl -L https://github.com/vib795/pull-vids/releases/latest/download/pull-vids-linux-arm64 -o pull-vids
chmod +x pull-vids
sudo mv pull-vids /usr/local/bin/Windows:
- Download pull-vids-windows-amd64.exe
- Rename to
pull-vids.exe - Move to a directory in your PATH (e.g.,
C:\Program Files\pull-vids\)
Requirements:
- Go 1.18 or higher
- Git
Build:
# Clone the repository
git clone https://github.com/vib795/pull-vids.git
cd pull-vids
# Build for your platform
make build
# Or build for all platforms
make build-all
# Install to system
make installpull-vids requires ffmpeg and yt-dlp to work:
macOS:
brew install ffmpeg yt-dlpUbuntu/Debian:
sudo apt update
sudo apt install ffmpeg
pip install yt-dlpWindows:
winget install ffmpeg
pip install yt-dlpVerify installation:
ffmpeg -version
yt-dlp --version
pull-vids --versionDownload from YouTube:
pull-vids "https://www.youtube.com/watch?v=VIDEO_ID"Download from Vimeo:
pull-vids "https://vimeo.com/123456789"Download from Twitter/X:
pull-vids "https://twitter.com/user/status/123456"Download from TikTok:
pull-vids "https://www.tiktok.com/@user/video/123456"Download from Instagram:
pull-vids "https://www.instagram.com/p/ABC123/"Download from Twitch:
pull-vids "https://www.twitch.tv/videos/123456789"Download audio only:
pull-vids -a "https://www.youtube.com/watch?v=VIDEO_ID"Download in specific quality:
pull-vids -q 720p "https://vimeo.com/123456789"Download to a specific directory:
pull-vids -o ~/Videos "https://www.youtube.com/watch?v=VIDEO_ID"Download entire playlist:
pull-vids -p "https://www.youtube.com/playlist?list=PLAYLIST_ID"If you get a bot detection error from YouTube, you'll need to authenticate using cookies from your browser.
-
Install a browser extension to export cookies:
- Chrome/Edge/Brave: Get cookies.txt LOCALLY
- Firefox: cookies.txt
-
Visit YouTube and make sure you're logged in
-
Click the extension icon and export cookies for
youtube.com -
Save the file (e.g.,
youtube-cookies.txt) -
Use with pull-vids:
pull-vids --cookies youtube-cookies.txt "https://www.youtube.com/watch?v=VIDEO_ID"
Firefox (usually works without issues):
pull-vids --cookies-from-browser firefox "https://www.youtube.com/watch?v=VIDEO_ID"Chrome:
pull-vids --cookies-from-browser chrome "https://www.youtube.com/watch?v=VIDEO_ID"Safari (macOS only):
pull-vids --cookies-from-browser safari "https://www.youtube.com/watch?v=VIDEO_ID"- Open System Settings → Privacy & Security → Full Disk Access
- Click the + button and add your terminal app (Terminal.app or iTerm2)
- Restart your terminal
- Try again
Supported browsers: firefox, chrome, safari, edge, chromium, brave, opera, vivaldi
Important: Make sure you're logged into YouTube in the browser before extracting cookies!
usage: pull-vids [-h] [-o OUTPUT] [-q QUALITY] [-a] [-p] [-f FORMAT]
[--cookies COOKIES] [--cookies-from-browser BROWSER]
[-v] [--no-banner] url
positional arguments:
url Video URL from any supported site (1000+ platforms)
options:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Output directory (default: ~/Downloads/pull-vids)
-q QUALITY, --quality QUALITY
Video quality: best, high, medium, low, 2160p, 1440p, 1080p, 720p, 480p, 360p
(default: best)
-a, --audio-only Download audio only
-p, --playlist Download entire playlist
-f FORMAT, --format FORMAT
Output format (mp4, mkv, mp3, m4a, etc.)
--cookies COOKIES Path to cookies file (Netscape format)
--cookies-from-browser BROWSER
Extract cookies from browser (chrome, firefox, safari, edge, etc.)
-v, --version show program's version number and exit
--no-banner Don't show the banner
best- Best available quality (default)high- Up to 1080pmedium- Up to 720plow- Up to 480p2160p,1440p,1080p,720p,480p,360p- Specific resolutions
Video formats: mp4 (default), mkv, webm Audio formats: mp3 (default), m4a, opus, wav
# Download 4K video
pull-vids -q 2160p "https://www.youtube.com/watch?v=VIDEO_ID"
# Download as MP3
pull-vids -a -f mp3 "https://www.youtube.com/watch?v=VIDEO_ID"
# Download playlist to Music folder
pull-vids -a -p -o ~/Music "https://www.youtube.com/playlist?list=PLAYLIST_ID"
# Download in MKV format
pull-vids -f mkv "https://www.youtube.com/watch?v=VIDEO_ID"
# Download with cookies for YouTube bot detection
pull-vids --cookies-from-browser firefox "https://www.youtube.com/watch?v=VIDEO_ID"- Free Forever - No subscriptions, no trials, no limitations
- Open Source - Transparent code you can trust and modify
- Privacy Focused - No tracking, no data collection
- Powerful - Built on yt-dlp, supporting 1000+ video platforms
- Simple - Clean CLI interface, no bloat
- Fast - Compiles to a single binary with zero startup time
- Portable - Single executable, no runtime dependencies
This tool CANNOT download DRM-protected content. This includes:
- ❌ Amazon Prime Video
- ❌ Netflix
- ❌ Disney+
- ❌ Hulu
- ❌ HBO Max
- ❌ Apple TV+
- ❌ Other paid streaming services
Why? These services use DRM (Digital Rights Management) protection. yt-dlp does not and will not support bypassing DRM due to legal restrictions and ethical reasons.
✅ User-uploaded content:
- YouTube (videos, playlists, channels, live streams)
- Vimeo (public and password-protected videos)
- Social media (Twitter, TikTok, Instagram, Facebook)
- Twitch (VODs and clips)
- Reddit (v.redd.it videos)
- And 1000+ other sites with publicly accessible content
✅ Public platforms where content creators share their work ✅ Content you have legal rights to download
Note: Just because you can download something doesn't mean you should. Always respect:
- Copyright laws
- Platform Terms of Service
- Content creator rights
- Fair use guidelines
"ffmpeg not found" error:
- Make sure ffmpeg is installed and in your PATH
- Try running
ffmpeg -versionto verify installation
"No video formats found" error:
- The video might be region-locked or unavailable
- Try a different quality setting
- Check if the URL is correct
"Sign in to confirm you're not a bot" error:
- See the YouTube Authentication (Cookie Support) section above
- Use
--cookies-from-browseror--cookiesflag
Slow downloads:
- The video platform may be throttling your connection
- Try downloading at a different time
- Use a different quality setting
- Some platforms have rate limits
Contributions are welcome! Feel free to open issues or submit pull requests.
MIT License - feel free to use this tool however you want!
Core:
- yt-dlp - The amazing YouTube downloading library
Go libraries:
- fatih/color - Colored terminal output
- schollz/progressbar - Beautiful progress bars
Inspired by Downie and PullTube, but free and open-source!
This tool is for personal use only. Please respect copyright laws and each platform's Terms of Service. Only download videos you have the right to download.
