yoink any video. paste. yoink. done.
Download videos from YouTube, X/Twitter, Instagram, Threads, TikTok and 1,800+ other sites — right from your terminal. Paste a url, pick a resolution (or audio-only mp3), done. No popups, no fake download buttons, no sketchy redirects.
npm install -g yoinksOr try it without installing anything:
npx yoinksRequires Node 18+. Everything else (yt-dlp, ffmpeg) is fetched or bundled automatically.
$ yoinks https://youtu.be/dQw4w9WgXcQ # straight to the format picker
$ yoinks # prompts for a urlyoinks takes over the terminal (full-screen, centered — and restores your
scrollback on exit). Pick a format with ↑/↓ (or j/k, or number keys) and
hit enter. esc goes back, ^c quits. Or just use the mouse — the yoink
button, the format list and the footer hints are all clickable, and
clicking the logo takes you back home. Files are saved to ~/Downloads,
and the file path is printed to your terminal when you're done.
- Powered by yt-dlp. On first run,
yoinks downloads the standalone yt-dlp binary to
~/.yoinks/bin— no Python required. If you already have yt-dlp installed, it uses yours. - ffmpeg (needed for merging high-res streams and mp3 extraction) is found
on your PATH, with
ffmpeg-staticas a bundled fallback. - The UI is Ink — React for the terminal.
npm install
npm run build # bundle to dist/ with tsup
npm run dev # rebuild on change
node dist/cli.js <url>
npm run typecheckTo try it as a global command without publishing: npm link, then run
yoinks anywhere.
-
--best/--mp3flags to skip the picker (scriptable mode) -
-o <dir>to choose the output folder - Playlist / thread-with-multiple-videos support
- Clipboard detection: launch bare and auto-suggest the url you copied
- Self-update for the bundled yt-dlp binary (
yt-dlp -U) - Publish to npm (
npm i -g yoinks/npx yoinks) -
curl yoinks.sh | shinstaller
yoinks is a personal-archiving tool. Downloading content may violate a platform's terms of service — only download what you have the right to keep, and be excellent to creators.