grab any video. paste. download. 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.
One-line installer (macOS & Linux):
curl -fsSL https://open-omni.sh | shOr directly via GitHub:
curl -fsSL https://raw.githubusercontent.com/OpenSelena/openomni/main/install.sh | shOr via npm:
npm install -g open-omniOr try it without installing anything:
npx open-omniRequires Node 18+. Everything else (yt-dlp, ffmpeg) is fetched or bundled automatically.
$ open-omni https://youtu.be/dQw4w9WgXcQ # straight to the format picker
$ open-omni https://youtu.be/dQw4w9WgXcQ --best # skip picker, download highest resolution
$ open-omni https://youtu.be/dQw4w9WgXcQ --mp3 # skip picker, extract audio only
$ open-omni https://youtu.be/dQw4w9WgXcQ -o ~/Videos # download to custom folder
$ open-omni # prompts for a url (or Tab pastes from clipboard)
$ open-omni --theme light # force the light paletteOpen Omni 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 download
button, the format list and the footer hints are all clickable, and
clicking the logo takes you back home. Files are saved to ~/Downloads by default
(or the directory specified via -o <dir>, --output <dir>, or $OPEN_OMNI_DIR),
and the file path is printed to your terminal when you're done.
The default auto theme uses your terminal's own foreground and background,
so it follows light and dark terminal themes without guessing. Press ^t or
click the theme control in the footer to cycle through auto, light, and
dark for the current session. Use --theme auto, --theme light, or
--theme dark to choose the starting theme for one launch.
- Powered by yt-dlp. On first run,
Open Omni downloads the standalone yt-dlp binary to
~/.open-omni/bin— no Python required. If you already have yt-dlp installed, it uses yours. Keep it up-to-date withopen-omni -U(oropen-omni --update-ytdlp). - 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
open-omni 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 open-omni/npx open-omni) -
curl open-omni.sh | shinstaller
Open Omni 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.

