2026-10-21 01:43:56 +04:00
2026-10-20 22:41:53 +04:00
2026-03-16 15:55:29 +04:00
2026-10-21 01:43:56 +04:00
2026-10-21 01:37:38 +04:00
2026-10-20 21:29:41 +04:00
2026-10-21 01:37:38 +04:00
2026-10-17 22:31:16 +04:00
2026-10-03 03:01:39 +04:00
2025-05-29 10:17:16 +04:00
2026-10-20 22:25:58 +04:00
2026-10-20 21:29:41 +04:00
2026-10-07 15:32:54 +04:00
2026-10-21 01:37:38 +04:00
2026-10-21 01:39:59 +04:00
2026-10-19 05:22:48 +04:00
2026-05-05 22:34:56 +04:00
2026-05-05 22:34:56 +04:00
2026-10-07 15:32:54 +04:00
2026-10-04 23:16:51 +04:00
2026-10-20 10:28:47 +04:00
2026-03-28 01:41:01 +04:00
2026-03-02 11:37:18 +04:00
2026-09-26 10:38:43 +04:00
2026-09-26 10:37:23 +04:00
2025-12-02 20:32:00 +04:00
2026-10-20 21:29:41 +04:00
2025-05-29 10:17:16 +04:00
2025-05-29 10:17:16 +04:00
2026-10-19 05:22:39 +04:00
2026-10-21 01:39:59 +04:00
2026-10-20 21:29:41 +04:00
2026-10-07 15:32:54 +04:00
2025-05-29 10:17:16 +04:00
2026-10-21 01:43:56 +04:00
2026-10-16 15:03:45 +04:00
2026-09-26 10:38:43 +04:00

Donut Browser logo

Donut Browser

Open-source anti-detect browser. Unlimited profiles on one computer, each with its own fingerprint, cookies and proxy.

Zero app telemetry · No account needed · Profiles stored on your disk · Optional end-to-end encrypted sync

Latest release Total downloads GitHub stars License: AGPL-3.0 PRs welcome

Download for macOS, Windows and Linux

Website · Docs · Pricing · Changelog

The Donut Browser profiles page. Twelve profiles sit in groups, each with a status, tags, a note, a proxy or VPN and an extension group.

Your accounts never meet

In an ordinary browser, four accounts show websites the same device, so they are linked and one ban takes down all four. In Donut Browser, each account shows a different device, so the accounts stay separate.

Websites link accounts that come from the same device, and one ban then takes them all. In Donut, each account runs in its own profile, so every site sees a different device.

Every profile is a separate device

Donut Browser starts three profiles. Each one opens its own browser window with the profile name in the address bar, and shows websites a different device.

Each profile has its own fingerprint, cookies, extensions and proxy or VPN. WebRTC and DNS use the profile's route. Before a launch, Donut compares the timezone and language of the proxy exit with the fingerprint and stops a mismatch.

The fingerprints come from Wayfern, a Chromium fork that sets them inside the engine. Cloudflare, reCAPTCHA v3 and other anti-bot services do not detect them.

Private at every layer

Profiles, with their cookies, logins, history and fingerprints, stay on your device. Optional sync sends only data that is encrypted with your password. The app sends no telemetry.
  • No account needed. Profiles, cookies, logins and history stay on your computer.
  • Zero app telemetry. No usage data, crash reports or device IDs leave the app.
  • A password-locked profile is encrypted on disk and decrypted only while it runs.
  • An ephemeral profile keeps its data in memory and is discarded when the browser closes. Clear on close drops cookies, storage and history when the window closes.
  • A deleted profile waits 30 days in the trash. Permanent deletion overwrites every file.
  • One setting blocks every launch without a proxy or VPN, so no profile starts from your own IP.
  • Sync is optional and end-to-end encrypted with a password only you know. Use Donut Sync or run your own server.

Features

A proxy check: this device, the proxy and the verified exit in Frankfurt, with the ISP, timezone and UDP support.

Proxies and VPNs

HTTP, HTTPS, SOCKS4 and SOCKS5 proxies, dynamic proxy URLs, WireGuard, and VLESS, VMess, Trojan and Hysteria2 links. A check shows the exit IP, location, latency and UDP support.

The DNS blocklist dialog with the Light and Normal lists, their domain counts and the time of the last refresh.

DNS blocklists

Block ads, trackers and malware domains per profile, with no extension. Pick one of five levels, or add your own lists and an allowlist.

The fingerprint settings of a profile, with the operating system, a button that regenerates the fingerprint and an option for a new fingerprint at every launch.

Fingerprints

Regenerate a profile's fingerprint, or get a new one at every launch. With Pro or Team, a profile can present macOS, Windows or Linux on any computer.

Traffic details of one profile: a chart of bandwidth over five minutes, with data sent, data received and the request count.

Traffic

Bandwidth, requests and top domains for each profile. Turn off site recording to keep only data totals.

The 2FA codes of a profile, with the current six-digit code for one account and a field to add a key.

2FA codes

Keep each account's 2FA key with its profile and copy the current code. The keys stay encrypted on your device and are never synced.

The command palette over the profiles page, with a list of pages and their keyboard shortcuts.

Command palette

Press ⌘ K or Ctrl K to open a page, start or stop a profile, or run an action. Every page has its own shortcut.

Also in the app:

  • Groups, tags, notes, statuses, and templates that create many profiles at once.
  • Import profiles from Chrome, Edge, Brave or another Chromium browser, with cookies, logins and extensions.
  • Import and export cookies, including Playwright storageState files.
  • Add extensions from a Chrome Web Store link, a .crx or .zip file, or an unpacked folder, and share one set across profiles.
  • Set Donut as your default browser and choose which profile opens each link.
  • The interface is in 11 languages.

Automate with code or AI agents

Start a profile from the local REST API and connect Playwright to it over CDP, or let your AI agent work with profiles over remote MCP.

Start any profile from the local REST API on 127.0.0.1:10108, then connect Playwright, Puppeteer or Selenium over CDP. The sdk folder has Python and Node clients. Connect Claude Code, Cursor, Codex or another client over remote MCP to let an agent work in your profiles. Donut has no AI model of its own. Remote MCP needs a paid plan. Starting profiles from the API and the Synchronizer need Pro or Team.

Guides: quickstart, Playwright with Wayfern, MCP.

The Agent page. Claude Code asks for a verification code and for a decision about two orders, with buttons to show the window, hand the profile back or answer.

Agent console

See what each connected agent does, answer its questions, and take over a profile and hand it back. One switch pauses all agents.

The Synchronizer: a leader profile mirrors to two followers, above the profiles table.

Synchronizer

Every click and keystroke in a leader profile repeats in the followers you pick. Hold one follower out, or arrange all windows in a grid.

Plans

The app is free, with unlimited local profiles. Paid plans add cloud features and automation. Prices are on the pricing page.

Free Solo Pro Team
Unlimited local profiles
Proxies, VPNs and DNS blocklists
Local REST API
Self-hosted sync
Everything in Free
Encrypted cloud backup
Cookie Bot
Scheduled recipes
Remote MCP for AI agents
Everything in Solo
Browser automation API
Cross-OS fingerprints
Synchronizer
Remote browser sessions
Everything in Pro
Shared profiles
Access by profile group
Team activity log
Cookie Bot: the next nightly run, a chart of machine time per night, and four profiles with their schedule.

Browses real sites on a schedule from a remote host, so a new profile builds a natural history before you use it.

Team access: one member is limited to two of the team's profile groups.

Team

A running profile is locked for everyone else. Limit each member to some profile groups, and see who changed what.

Install

macOS

Download DMG (Apple Silicon)

Or install via Homebrew:

brew install --cask donut

Windows

Download Windows Installer (x64) · Portable (x64)

Linux

Format x86_64 ARM64
deb Download Download
rpm Download Download
AppImage Download Download

On 64-bit Linux, the install script adds the Donut apt or rpm repository, so updates come through your package manager. For a per-user AppImage, end the command with sh -s -- --appimage.

curl -fsSL https://donutbrowser.com/install.sh | sh
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.AppImage

If 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.

Flatpak and Snap

Releases include an x86_64 Flatpak bundle and a Snap, built from the .deb and tested in their sandboxes by the Linux Packages workflow. Download Donut_*_x86_64.flatpak or Donut_*_amd64.snap from the releases (the nightly has them already) and install it:

flatpak install --user Donut_*_x86_64.flatpak
sudo snap install --dangerous Donut_*_amd64.snap

The Snap leaves the microphone, the camera and the keyring (used by profile import) disconnected until you run sudo snap connect donutbrowser:audio-record, donutbrowser:camera or donutbrowser:password-manager-service. The Flatpak cannot change the default browser, so choose Donut in your system settings instead.

Nix

nix run github:donutbrowser/donutbrowser#release-start

Run from source

git clone https://github.com/donutbrowser/donutbrowser.git
cd donutbrowser
pnpm install
pnpm tauri dev

This needs Node.js (version in .node-version), pnpm, stable Rust and the Tauri v2 prerequisites. With Nix, run nix run .#setup and then nix run .#tauri-dev. See CONTRIBUTING.md.

Self-host sync

Run your own sync server to sync profiles, proxies and groups across devices for free. The server is in donut-sync and ships as the donutbrowser/donut-sync Docker image. See the self-hosting guide.

Contributing

Most of the useful help needs no code.

  • Tell other people about Donut. Most users find it by word of mouth.
  • 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.

Star history

Cumulative GitHub stars for donutbrowser/donutbrowser over time

Contributors

Everyone who has landed commits in donutbrowser/donutbrowser, ranked by commit count

Contact

For urgent questions or security vulnerability reports, email contact@donutbrowser.com.

License

AGPL-3.0. See LICENSE.

Languages
Rust 54.3%
TypeScript 33.3%
JavaScript 10.6%
Python 1.3%
Shell 0.3%
Other 0.2%