Arroxy Free, open-source downloader for YouTube and 2000+ sites, with a built-in browser. For Windows, macOS, and Linux. ↓ Install Arroxy · Website Windows first launch · macOS first launch · Linux first launch Read in: Afaan Oromoo · Bahasa Indonesia · Català · Čeština · Dansk · Deutsch · Eesti · English · Español · Euskara · Français · Galego · Hrvatski · Italiano · Kiswahili · Latviešu · Lietuvių ·…
Free open-source YouTube and +2000 sites downloader GUI based on yt-dlp for Windows, macOS, and Linux. Download videos, Shorts, 4K, 1080p60, HDR, playlists, channels, and subtitles with no ads, tracking, cookies, or login. Supports 23 languages.
If Arroxy saves you time, a ⭐ helps others find it.
Browse, sign in, download
Paste a link, or browse inside the app. Use the Explore tab to download the video, playlist, or channel you’re browsing, or right-click a link to download it.
Sign in to a site once to download content your account can access—including private videos, Watch Later, and Liked lists. No cookie export needed. More about Explore.
Explore Browse YouTube or any other site inside Arroxy and download the page you're on with your active profile
Explore's first screen A quick look at Explore, and why a secondary account is the safer sign-in
Downloads tells you what needs you Links prepare in the background; a failed one offers its fix, a long playlist waits for your choice
Download just part of a video Pick a start and end, or a chapter — Arroxy saves only that range
8K HDR at 60 fps Every resolution, codec and HDR stream a video offers, side by side
Profile editor Tune a profile: file type, resolution, subtitles, destination, filename template and more
Dark or light, glass or solid Four looks to choose from: glass panels over a moving sky or quiet solid surfaces, each in dark and light
Global download hotkey Copy a link anywhere, press once — it lands in the queue and starts downloading
Per-item playlist profiles Give each video its own profile — archive some in 4K, save the rest as audio only
Quick Download home Paste a URL and pull it instantly with your active profile
Reusable download profiles Save format, quality, and output presets — reuse per download
Multi-language audio tracks Pick the exact audio language a video ships
Surround / Dolby audio 5.1 and Dolby tracks detected and preserved
Bulk URL mode Paste a list, auto-dedupe, queue them all at once
Parallel download queue Several downloads at once with live progress
🧭 Explore: browse the web inside Arroxy
Explore tab — browse YouTube or any other site inside Arroxy and download what you find without copying links. Download · your profile queues the video, playlist, or channel you’re looking at; the arrow next to it switches profiles, and the wand opens the step-by-step download for picking formats, subtitles, and more
Right-click to download — right-click any video, playlist, or channel link in Explore to download it with your profile, pick another profile from Download with, open the step-by-step download, or copy the link. No need to open each video first
Compact layout — one click in Explore’s toolbar moves Arroxy’s tabs into it and gives the page more room
Address bar — type to search YouTube, or enter any web address to open that site
Downloads that need an account — sign in once in Explore and Arroxy can download videos your account can watch: your private videos, age-restricted videos if the account is age-verified, and your Watch Later and Liked lists. Sign in to other sites there too, and their downloads use that sign-in when they need it. Arroxy still downloads signed out first and only uses your Explore sign-in when a download fails in a way an account can fix
Use a secondary account — Explore’s first screen explains why: downloading with an account carries some risk of that account being restricted. Sign out of Explore from Settings whenever you want to forget your sign-ins
Ad blocker — off by default. One click on the shield in Explore’s toolbar blocks ads and trackers on its pages, without affecting downloads. YouTube may push back on ad blockers for signed-in accounts
🎞️ Quality & formats
Up to 8K (4320p), 4K UHD (2160p), 1440p, 1080p, 720p, 480p, 360p
High frame rate and HDR preserved as-is — 60 fps, HDR10
Audio — export audio-only as MP3, M4A/AAC, Opus, or WAV. In interactive downloads, pick the source’s native surround/Dolby tracks (AC-3, E-AC-3, 5.1, DRC) when available, or set a global Prefer surround / Dolby default
Profiles with a goal — Best picture (AV1 · VP9) or Smart TV (MP4 · H.264), saved as Auto, MP4, MKV, or WebM without re-encoding. HDR is Auto (only when your screen can show it), SDR, or HDR
Every codec at every resolution — the step-by-step download lists AV1, VP9 and H.264 side by side at each resolution, so you can pick the one your TV or editor plays
Know what a stream really is — sizes YouTube upscaled with AI, AI-dubbed audio languages, enhanced-bitrate streams, 360° videos and damaged or watermarked copies are marked. Profiles skip AI-upscaled streams unless you allow them
🛡️ Privacy & control
100% local processing — downloads go straight from YouTube to your disk
Open source — every line auditable, GPLv3 licensed
Files saved straight to the folder you choose
⚡ Workflow
Global download hotkey — copy a link in any app and press Ctrl+Shift+D (Cmd+Shift+D on macOS); Arroxy queues it with your active profile without opening the window, and a notification confirms it. On by default, rebindable
Flexible start modes — choose a guided single download, playlist/channel picker, bulk URL paste, Quick Download with saved defaults, or browse and download from Explore
Central download queue — every single, playlist, bulk, or quick job lands in one place for progress, pause, resume, cancel, retry, and priority control
Clipboard watch — copy a video link and it fills the URL field when you come back to Arroxy, with Undo if you didn’t mean it. While Arroxy is busy, the link waits until you are back on the URL tab (turn it off in Settings)
Tray mode — closing the window keeps downloads running in the background
50 languages — auto-detects system locale, switchable any time
Playlist sync — re-scan a playlist against a local folder to skip already-downloaded videos; generates an .m3u playlist file updated as each video downloads
Speed and pacing controls — cap download bandwidth, set how many parts of a video download at once, and add request delays with presets (Off · Balanced · Careful · Custom)
Filename templates — name downloads your way with {title}, {uploader}, {id}, {date}, {year}, {resolution}, {site}, {categories}, {artist}, {album}, {track}, and {playlist_index}, globally or per download profile
Downloads at once and automatic retry — choose how many queued downloads run at the same time, and let Arroxy retry a download that hit a network or server problem, waiting longer before each attempt
Per-item playlist profiles — assign each video in a playlist its own download profile instead of one setting for the whole list, so a single pass can archive some at full quality and save the rest as audio only
Quick Download works in the background — the link shows up in Downloads right away and prepares there, a note with View confirms it, and the URL field clears for the next link. Start as many as you like while earlier ones prepare
Downloads tells you what needs you — if Arroxy can’t read a link, its row says why and offers the fix: Retry, turn on cookies, or sign in in Explore. With cookies off, Sign in with Explore retries it for you once you’re signed in. A playlist longer than your load limit waits on its row for you to pick all of it, the first ones, or a review. The Downloads tab counts the rows waiting for you
Download just part of a video — pick a start and end, or a chapter, on the Format screen and Arroxy saves only that range, named with the range after the video id. Cuts land on the nearest keyframe; turn on exact cut to re-encode instead
Remove finished downloads — optional: a finished download leaves the list 5 seconds later. Its files stay on disk, and failed downloads stay listed
Size and Missing in Downloads — a sortable Size column shows how much space each download takes, and Missing flags files moved or deleted outside Arroxy
Aurora or Minimal, dark or light — glass panels over a moving sky, or quiet solid surfaces; switch from the footer. Computers without graphics acceleration get Minimal automatically
Mac menu bar — on macOS, open Settings (Cmd+,), set the download speed limit, switch style and theme, and open logs or save a diagnostics file from the menu bar
Change a profile from any download — tweak a download, then update the profile it started from (with a preview of what changes) or save the settings as a new profile. Switching profile asks whether to keep your edits
📝 Subtitles & post-processing
Subtitles in SRT, VTT, or ASS — manual or auto-generated, in any available language
Save next to the video, embed into .mkv, or organize into a Subtitles/ subfolder
Subtitles-only batches — paste a list of URLs or open a playlist, pick Subtitles, and get only the caption files for every video
SponsorBlock — skip or chapter-mark sponsors, intros, outros, self-promos
Embedded metadata — title, upload date, channel, description, thumbnail, and chapter markers written into the file
🌐 YouTube + 2000 sites
YouTube, in full — Videos, Shorts, Channels, Playlists, YouTube Music, and Podcasts handled as first-class sources
2000+ other sites via yt-dlp — Twitch, TikTok, Dailymotion, VK, SoundCloud, Bandcamp, archive.org, Streamable, and many more
Audio-only and subtitles work across every supported site, not just YouTube
If a site changes, yt-dlp ships fixes weekly and Arroxy auto-updates the binary on launch
📥 Install and first launch
Requirements: Windows 10/11 · macOS 13+ (Intel or Apple Silicon) · Linux (AppImage, Flatpak, or tar.gz).
Windows
winget install AntonioOrionus.Arroxy
macOS
brew install --cask antonio-orionus/arroxy/arroxy
Linux
AppImage:
curl -fsSL https://raw.githubusercontent.com/antonio-orionus/Arroxy/main/scripts/install.sh | sh -s -- --appimage
Flatpak:
curl -fsSL https://raw.githubusercontent.com/antonio-orionus/Arroxy/main/scripts/install.sh | sh -s -- --flatpak
Builds are x86_64 only. No curl? Swap curl -fsSL for wget -qO-.
On first launch you may see “Windows protected your PC” or “Unknown publisher.” This applies to both Arroxy-win-x64-Setup.exe and Arroxy-win-x64-Portable.exe. Arroxy is free and open-source and the Windows builds are not code-signed with a paid certificate, which is why SmartScreen flags them. It does not automatically mean Arroxy is unsafe. To continue:
Click More info.
Click Run anyway.
If Windows Defender flags or removes the file
Defender heuristics sometimes flag unsigned NSIS installers and Electron portables as suspicious. If Defender quarantines Arroxy-win-x64-Setup.exe or Arroxy-win-x64-Portable.exe, restore it from Windows Security → Virus & threat protection → Protection history, then add the Arroxy executable as an allowed item under Manage settings → Add or remove exclusions. As with SmartScreen, the trigger is the missing publisher signature, not detected malware.
Only download Arroxy from the official GitHub Releases page. If you got the file from another website or someone sent it to you, delete it and download a fresh copy from the official source. The source code is public, so you can inspect it or build Arroxy yourself if you prefer.
Arroxy’s macOS builds are ad-hoc signed but not notarized by Apple, so Gatekeeper blocks the first launch with “Arroxy.app” Not Opened — Apple could not verify “Arroxy.app” is free of malware. That means macOS cannot check the app with Apple, not that anything is wrong with the files. Installing with Homebrew avoids this dialog entirely. If you used the DMG, one Terminal command clears it:
Drag Arroxy.app from the mounted DMG into /Applications.
Open Terminal and run these two commands:
xattr -dr com.apple.quarantine /Applications/Arroxy.app
open /Applications/Arroxy.app
The first command removes the quarantine attribute macOS attached when the file was downloaded; the second launches the app. You normally do not need sudo, because the copy in /Applications belongs to you — add it only if you get a permissions error.
Apple Silicon vs Intel: on an M-series Mac (M1 / M2 / M3 / M4), download the arm64 DMG. On Intel Macs, download the x64 DMG. Running the wrong build still works via Rosetta but is noticeably slower.
macOS builds are produced via CI on Apple Silicon and Intel runners. If you hit issues, please open an issue — feedback from macOS users actively shapes the macOS testing cycle.
⚠️ Why you may see a warning
Arroxy is open-source and GPLv3-licensed. The Windows and macOS builds are not code-signed — Apple Developer ID and Windows EV code-signing certificates each cost hundreds of dollars per year, which an indie project pays out of pocket. Without those signatures, Windows SmartScreen and macOS Gatekeeper will warn you on first launch. The warnings mean your OS doesn’t recognize the publisher — they don’t mean Arroxy is malware.
Three ways to verify Arroxy yourself, in increasing rigor:
Optional desktop integration: install AppImageLauncher once, and any AppImage you double-click gets registered into your launcher menu automatically — no manual .desktop file needed.
Plain tarball (no FUSE, no install):
The .tar.gz build is the same app without the AppImage wrapper — extract it anywhere and run it. No installer and no FUSE package needed.
tar xzf Arroxy-linux-x64.tar.gz
./Arroxy-linux-x64/arroxy
The Linux downloads on the release page are x86_64 only. On ARM64 machines (Raspberry Pi, Asahi Linux) the Flatpak still installs, then fails at launch with bwrap: execvp ldconfig: Exec format error.
🔐 Verify your download (SHA256)
Every release publishes a SHA256SUMS file alongside the binaries. To check that your download wasn’t corrupted or tampered with in transit, hash your file locally and match the line in SHA256SUMS. Open the latest release page → Assets → download SHA256SUMS.
Want a third-party malware scan? Upload the file at VirusTotal. A handful of generic-heuristic flags from minor engines is normal for unsigned Electron apps; widespread detections from major engines would be a real concern.
📦 Windows: Installer vs Portable
NSIS Installer
Portable .exe
Installation required
Yes
No — run from anywhere
Auto-updates
✅ in-app
❌ manual download
Startup speed
✅ faster
⚠️ slower cold start
Adds to Start Menu
✅
❌
Easy uninstall
✅
❌ delete the file
Recommendation: use the NSIS installer for auto-updates and faster startup. Use the portable .exe for a no-install, no-registry option.
⚖️ Why Arroxy
A side-by-side comparison with the most common alternatives:
Arroxy
Typical free yt-dlp GUI
4K Video Downloader
JDownloader
Online converters
Browser extensions
Built-in browser (browse, sign in, download)
✅
❌
⚠️
❌
❌
N/A
Videos your own account can watch, without exporting cookies
✅
⚠️
⚠️
⚠️
❌
⚠️
Free, no premium tier
✅
✅
⚠️
✅
⚠️
⚠️
Open source
✅
✅
❌
❌
❌
⚠️
Local processing only
✅
✅
✅
✅
❌
✅
No usage caps
✅
✅
⚠️
✅
🚫
⚠️
Cross-platform desktop app
✅
⚠️
✅
✅
N/A
❌
Subtitles + SponsorBlock
✅
⚠️
⚠️
❌
❌
❌
⚠️ = partly, or only on a paid tier. 4K Video Downloader’s in-app sign-in for private videos is a paid feature; most free yt-dlp GUIs only accept a cookies file or read your web browser’s cookies.
Arroxy is built for one thing: a clean local file, whether you paste a URL or find the video in Explore. No upsells, no data collection.
🧭 What a plain yt-dlp wrapper can’t do: the Explore tab
Most free YouTube downloaders are a URL box on top of yt-dlp. Arroxy uses yt-dlp too, but it also has Explore, a browser built into the app that opens YouTube or any other site. Explore adds what a URL box can’t:
Videos your account can watch, without exporting cookies — your private videos, your Watch Later and Liked lists, age-restricted videos on an age-verified account, and pages on other sites that need your sign-in. A plain wrapper needs a cookies.txt export or reads your web browser’s cookies. In Arroxy you sign in once in Explore and it does the rest
No copying links — find a video, playlist, or channel in Explore and download it with one click, or right-click any link on the page
Ad blocker when you want it — one click on the shield blocks ads and trackers on Explore’s pages
🔒 Privacy
Downloads are fetched directly via yt-dlp from YouTube to the folder you pick — nothing routed through a third-party server. Watch history, download history, URLs, and file contents stay on your device.
No tracking. Arroxy sends only anonymous reports that help us count users and fix problems — never your links, videos, files or accounts. You control them in Settings.
Explore keeps its own sign-ins, separate from your browser, and you always sign in on the site’s own page. A download uses a sign-in only for that site, reads it fresh and deletes its copy afterwards. Signing out of Explore in Settings forgets them.
❓ FAQ
Is it really free?
Yes — GPLv3 licensed, no premium tier, no feature gating.
How is Arroxy different from other yt-dlp GUIs?
Most free yt-dlp GUIs are wrappers that only take a link. Arroxy adds Explore, a browser built into the app that opens YouTube or any other site: you browse and download without copying links, and you sign in there once to download videos your account can watch, like your private videos and your Watch Later and Liked lists, with no cookie export. See Why Arroxy.
What video qualities can I download?
Anything YouTube serves: 8K (4320p), 4K UHD (2160p), 1440p, 1080p, 720p, 480p, 360p, plus audio-only. 60 fps and HDR streams are preserved as-is, and the step-by-step download lets you pick AV1, VP9 or H.264 at each resolution.
Can I extract just the audio as MP3?
Yes. Pick audio-only in the format menu and choose MP3, M4A/AAC, Opus, or WAV.
How do I download videos that need a YouTube account?
Sign in once in the Explore tab. Arroxy can then download videos your account can watch: your private videos, age-restricted videos if the account is age-verified, and your Watch Later and Liked lists. It uses the sign-in only when a download fails in a way an account can fix; everything else downloads as before. This is the Explore sign-in choice, listed first and marked Recommended in the cookie settings, and Arroxy picks it for you the first time you open Explore. yt-dlp’s wiki notes that signed-in automation can flag a Google account, so a secondary account is the safer choice.
Will it keep working when YouTube changes something?
yt-dlp is updated automatically on launch, and Arroxy ships fixes promptly when YouTube changes something. When a download needs a sign-in, Arroxy uses your Explore sign-in if you’ve signed in there, and cookies from a file or your browser are available in the cookie settings.
What languages is Arroxy available in?
50 languages, out of the box: Afaan Oromoo · Bahasa Indonesia · Català · Čeština · Dansk · Deutsch · Eesti · English · Español · Euskara · Français · Galego · Hrvatski · Italiano · Kiswahili · Latviešu · Lietuvių · Magyar · Nederlands · Norsk bokmål · O’zbekcha · Polski · Português · Română · Slovenčina · Slovenščina · Suomi · Svenska · Tiếng Việt · Türkçe · አማርኛ · עברית · العربية · اردو · پښتو · فارسی · বাংলা · हिन्दी · ไทย · မြန်မာဘာသာ · ខ្មែរ · Ελληνικά · Български · Русский · Српски · Українська · 中文 · 日本語 · 한국어 · 繁體中文. Arroxy auto-detects your operating system’s language on first launch and you can switch at any time from the language picker in the toolbar. Runtime locale JSON lives in src/shared/i18n/locales/, and translator-facing PO catalogs live in i18n/locales/ — open a PR on GitHub to contribute.
Do I need to install anything else?
No. yt-dlp, ffmpeg and ffprobe are downloaded automatically on first launch and cached on your machine. After that, no extra setup is needed.
Can I download playlists or whole channels?
Yes — both. Paste a playlist URL or a channel URL (e.g. youtube.com/@handle, /channel/UC…, /c/Name, /user/Old); choose how many entries to scan, then queue the whole list or pick specific videos. Date-range filters are coming soon.
macOS says "the app is damaged" — what do I do?
That’s macOS Gatekeeper blocking an unsigned app, not actual damage. See macOS first launch for the Terminal commands that clear quarantine and launch Arroxy.
Is downloading YouTube videos legal?
It depends on your country and on what you download. Download only content you own, content that is licensed for download, or content the law in your country lets you copy. You are responsible for complying with YouTube’s Terms of Service and your local copyright laws. See Terms of use.
🗺️ Roadmap
Still planned — roughly in priority order:
Feature
Description
Playlist & channel filters
Date-range filters when enumerating a playlist or channel
YouTube audio track preferences
Set an app-wide spoken-language track preference, with per-profile overrides when YouTube offers multiple audio tracks
Stronger retry recovery
A new retry path for downloads interrupted by unreliable or problematic internet connections
Full download manager drawer
Turn the queue drawer into a fuller manager, including changing destination folders for queued items
Scheduled downloads
Start a queue at a set time (overnight runs)
AUR package
Install on Arch Linux and Omarchy with yay -S arroxy-bin
Have a feature in mind? Open a request — community input shapes priority.
💖 Support Arroxy
Arroxy is free and GPLv3-licensed — no ads, no tracking, no paid tier. If it saves you time, you can support development with Bitcoin, Tron or Ethereum: the addresses are in DONATE.md, which is the only official source for them. Arroxy will never send you an address by email or direct message. Starring the repo, reporting bugs, and improving translations help just as much.
🛠️ Built with
Stack
Electron — cross-platform desktop shell
React 19 + TypeScript — UI
Tailwind CSS v4 — styling
Zustand — state management
yt-dlp + ffmpeg — download and mux engine (both fetched at runtime: yt-dlp kept up to date, ffmpeg/ffprobe installed once and kept across updates)
Recommended: install mise, then run mise install in the checkout. Without mise, manually activate Node.js from .node-version and Bun from package.json before bun run bootstrap.
Windows
powershell -c "irm bun.sh/install.ps1 | iex"
Visual Studio Build Tools and Python may be needed for native rebuilds.
macOS
brew install mise
xcode-select --install
After cloning, run mise trust && mise install from the checkout. If your shell already uses fnm, nvm, or a Homebrew Bun, activate mise in ~/.zshrc so Arroxy gets Node.js 24.21.0 and Bun 1.4.2:
printf '
# mise
if command -v mise >/dev/null 2>&1; then
eval "$(mise activate zsh)"
fi
' >> ~/.zshrc
exec zsh
Linux (Ubuntu / Debian)
curl -fsSL https://bun.sh/install | bash
# Build + Electron runtime deps
sudo apt install -y build-essential python3 tar libgtk-3-0 libnss3 libasound2t64
# E2E tests only (Electron needs a display)
sudo apt install -y xvfb
Clone & run
git clone https://github.com/antonio-orionus/Arroxy
cd Arroxy
mise trust
mise install # recommended; skip if you manually activated the pinned tools
bun run bootstrap
bun run doctor
bun run dev # Electron app against the Vite renderer
Build a distributable
bun run build # typecheck + compile
bun run dist # package for current OS
bun run dist:win # package Windows targets when run on a supported host
bun run bootstrap installs dependencies, rebuilds Electron app dependencies, verifies Electron, prepares embedded ffmpeg/ffprobe for development, and installs Playwright Chromium. Release builds manage yt-dlp, ffmpeg and ffprobe at runtime in your app data folder; none of them ship inside the installer.
🩺 Troubleshooting
🖥️ App won't open / no window appears
The Arroxy process starts but no window shows up. Most often this is a GPU driver hang during startup. Try, in order:
1. Check the log. It records startup, GPU info, and any crash. Path:
Platform
Path
Windows
%APPDATA%\arroxy\logs\main.log
macOS
~/Library/Logs/arroxy/main.log
Linux
~/.config/arroxy/logs/main.log
2. Launch with hardware acceleration disabled. Open a terminal / Command Prompt and run the executable with a flag:
# Windows (Portable) — PowerShell, run from the folder containing the exe
.\Arroxy-win-x64-Portable.exe --disable-gpu
# Windows (Portable) — Command Prompt (cmd.exe), from the same folder
Arroxy-win-x64-Portable.exe --disable-gpu
# Windows (Installed) — works in both PowerShell and cmd.exe
"%LOCALAPPDATA%\Programs\Arroxy\Arroxy.exe" --disable-gpu
# macOS
/Applications/Arroxy.app/Contents/MacOS/Arroxy --disable-gpu
# Linux (AppImage)
./Arroxy-linux-x64.AppImage --disable-gpu
If that works, the GPU/driver is the cause. Make the change permanent (next step).
3. Persist the flag via argv.json. Create the file at:
Platform
Path
Windows
%APPDATA%\arroxy\argv.json
macOS
~/Library/Application Support/arroxy/argv.json
Linux
~/.config/arroxy/argv.json
On Flatpak, both main.log and argv.json live under
~/.var/app/io.github.antonio_orionus.Arroxy/config/arroxy/
(for example logs/main.log).
With contents:
{ "disable-hardware-acceleration": true }
Arroxy reads this before opening any window, so it works even when the window never appeared.
4. Other flags worth trying (combine if needed): --disable-software-rasterizer, --disable-gpu-sandbox, --in-process-gpu.
5. Stale window position. If the window may be opening off-screen (multi-monitor change since last run), delete <userData>\window-state.json and relaunch.
6. Still stuck? Open an issue with your OS version and any output from running with --enable-logging --v=1. If the app window does open, attach the file from Settings → Save diagnostics file: it holds both logs and your app details, with your user folder name removed. Otherwise attach main.log.
📜 Terms of use
Arroxy is a tool for personal, private use only. You are solely responsible for ensuring your downloads comply with YouTube’s Terms of Service and the copyright laws of your jurisdiction. Do not use Arroxy to download, reproduce, or distribute content you do not have the right to use. The developers are not liable for any misuse.
评论