- Unlimited browser profiles: each fully isolated with its own fingerprint, cookies, extensions, and data
- Anti-detect Chromium engine: powered by Wayfern, a privacy-focused Chromium fork whose fingerprint spoofing is not detected by Cloudflare, reCaptcha v3, or other browser fingerprinting and anti-bot services
- DNS AdBlocker: block ads, trackers, and other unwanted content with per-profile DNS blocking
- Proxy support: HTTP, HTTPS, SOCKS4, SOCKS5 per profile, with dynamic proxy URLs
- VPN support: WireGuard configs per profile
- Local API & MCP: REST API and Model Context Protocol server for integration with Claude, automation tools, and custom workflows
- Profile groups: organize profiles and apply bulk settings
- Import profiles: migrate from Chrome, Edge, Brave, or other Chromium browsers
- Cookie & extension management: import/export cookies, manage extensions per profile
- Default browser: set Donut as your default browser and choose which profile opens each link
- Cloud sync: sync profiles, proxies, and groups across devices (self-hostable)
- E2E encryption: optional end-to-end encrypted sync with a password only you know
- Zero telemetry: no tracking or device fingerprinting
| Apple Silicon | Intel | |
|---|---|---|
| DMG | Download | Download |
Or install via Homebrew:
brew install --cask donutDownload Windows Installer (x64) · Portable (x64)
| Format | x86_64 | ARM64 |
|---|---|---|
| deb | Download | Download |
| rpm | Download | Download |
| AppImage | Download | Download |
Or install via package manager:
curl -fsSL https://donutbrowser.com/install.sh | shTroubleshooting macOS ("Donut is damaged")
Builds carry an ad-hoc signature rather than an Apple Developer ID, so macOS quarantines the download and blocks the first launch. Open System Settings -> Privacy & Security, scroll to the message about Donut, and choose Open Anyway.
Releases up to and including v0.30.1 were not signed at all, which macOS reports as "Donut" is damaged and can't be opened with no way past the dialog. Clear the quarantine attribute instead:
xattr -dr com.apple.quarantine "/Applications/Donut.app"Troubleshooting AppImage
If the AppImage segfaults on launch, install libfuse2 (sudo apt install libfuse2 / yay -S libfuse2 / sudo dnf install fuse-libs), or bypass FUSE entirely:
APPIMAGE_EXTRACT_AND_RUN=1 ./Donut.Browser_x.x.x_amd64.AppImageIf that gives an EGL display error, add WEBKIT_DISABLE_DMABUF_RENDERER=1 or GDK_BACKEND=x11 to the command above. If issues persist, the .deb and .rpm packages are more reliable.
nix run github:zhom/donutbrowser#release-startRun your own sync server to sync profiles, proxies, and groups across devices for free. See the Self-Hosting Donut Sync guide for Docker-based setup instructions.
Donut Browser is built by the people who use it, and plenty of the most useful help involves no code at all.
- Tell other people about Donut. Word of mouth is how most users find the project, so talking about it is a real contribution.
- Report bugs and request features in GitHub Issues.
- Answer questions in GitHub Discussions.
- Fix and improve translations in
src/i18n/locales. - Write code. Start with CONTRIBUTING.md.
- Star the repo so more people see it.
For urgent questions or security vulnerability reports, email contact@donutbrowser.com.
This project is licensed under the AGPL-3.0 License. See the LICENSE file for details.

