The list of stealth tools for browser automation in 2026 has grown to dozens of names, with every other repository promising "undetected." You can't verify this by sight: the same Camoufox ranks in the middle of the table in one study, while in another, it makes the top four. Let's examine two independent benchmarks from 2026 with open methodologies, look at the real numbers, and β most importantly β understand which layer of detection they do not measure at all.
What Exactly Was Measured: Two Benchmarks, Two Different Referees
The first study is the anti-detect benchmark by Ian Patterson (published May 18, 2026). Seven tools were tested against 31 targets in four categories: JS detection panels, TLS endpoints, live sites under Cloudflare and other anti-bots, as well as high-load content platforms with "silent" fingerprinting. The result was 651 verdicts: 217 cells with three independent runs each, all completed in 5 hours and 11 minutes one night. The tests were conducted in headed mode from a single residential IP (Mac Studio, British Columbia).
The second study is the stealth benchmark by The Web Scraping Club (July 23, 2026): 15 open-source Python libraries, including Playwright patches, CDP-native tools, and custom browser builds. The role of the external judge was played by deviceandbrowserinfo.com with its JSON parsing and the isBot flag; the internal probe score matched the external verdict by 92% across 13 tested tools.
The key difference: the first benchmark targets live production goals (that is, the combination of "fingerprint + IP reputation + site behavior"), while the second focuses on pure JS fingerprinting in laboratory conditions, deliberately excluding transport fingerprinting, timings, and proxy reputation. Hence the discrepancy in leaders.
Table: Who Passed How Many Live Targets
Patterson's results for 31 targets (OK β access granted, gated β interstitial challenge, blocked β hard refusal with no chance to pass the check):
- nodriver (system Chrome 148) β 28 OK, 3 gated, 0 blocked
- CloakBrowser (Chromium 145) β 26 OK, 3 gated, 2 blocked
- curl_cffi 0.15.0 (impersonate=chrome, HTTP-only) β 26 OK, 3 gated, 2 blocked
- Patchright (channel=chrome, Chrome 148) β 25 OK, 3 gated, 3 blocked
- Camoufox (Firefox 135.0.1-beta.24) β 25 OK, 3 gated, 3 blocked
- vanilla Playwright (Chromium 147) β 24 OK, 2 gated, 5 blocked
- rebrowser-playwright (Chromium 136) β 24 OK, 2 gated, 5 blocked
The gap between the leader and the base Playwright is only five targets. But whatβs interesting is not the gap itself, but where it occurs. On canadianinsider and glassdoor, only nodriver passed (on glassdoor β through a soft challenge), while vanilla, Patchright, and rebrowser failed on google-search, and vanilla and rebrowser were blocked on stackoverflow. The only tool blocked on dev.to was Camoufox.
In the second benchmark with a strict referee, only four tools out of fifteen passed: camoufox, CloakBrowser, RayoBrowse, and scrapling. The same Camoufox that stumbled on dev.to in the live test ranked among the best in the lab for JS fingerprinting β because the accumulated reputation of the Firefox signature on a single IP was not taken into account.
Why nodriver Wins: Itβs Not About Masking, Itβs About the Protocol
Patches like playwright-stealth and rebrowser adjust static signals: navigator properties, canvas, WebGL, screen geometry. The problem is that modern anti-bots catch not only these but also the very fact of browser control via the automation protocol. The classic vector is the call to Runtime.enable: most libraries trigger it during initialization, and Cloudflare and DataDome detect this.
nodriver controls Chrome directly through CDP, without the Playwright layer: thereβs no shim in the control plane, no initial sequence of Runtime.enable, and no middleware between the Python code and the browser process. It decides for itself which CDP commands to send. Hence the zero hard blocks: patching static fingerprints is useless if you can be seen through the control channel.
Camoufox takes a different approach β itβs a fork of Firefox with C-level modifications that substitutes fingerprint API with agreed random values. It is strong against complex fingerprinting but pays for it with speed and resources, while the Firefox signature itself is noticeable against the dominant Chrome. Patchright is the most careful compromise: a drop-in replacement for Playwright, it patches CDP leaks at startup and can drive system Chrome 148 without rewriting code.
The Layer That No Benchmark Measures
This is where the most important practical aspect begins. Both studies explicitly state the boundary of their coverage, and the wording is almost identical. The author of the second benchmark writes that proxy reputation is about your IP, not your tool, and therefore excluded it from consideration. The author of the first explains the same from the other side: the proxy rewrites only the source IP, while the TLS handshake, HTTP/2 frame order, navigator properties, and canvas fingerprint are generated on a real machine.
This leads to a conclusion worth noting separately: the tool and IP cover different layers of detection, and one does not compensate for the other. The overview of stealth browsers by Scrapfly from August 10, 2026, formulates the symmetrical half: a clean fingerprint over a marked datacenter IP still gets blocked.
Moreover, an unsuccessful combination works worse than its absence. Patterson describes this as a requirement for profile consistency: a Linux server behind a residential proxy still advertises a browser with a Linux signature β and it is this contradiction that gates flag. The reverse effect is also documented: in external tests, IP rotation significantly improved Camoufox's results, preventing the reputation from accumulating against the recognizable Firefox signature during repeated accesses from a single address.
The practical meaning is simple. If you run tests from a single static address, you are measuring not so much the tool as the wear of a specific IP. Live targets like Cloudflare-protected sites evaluate the combination as a whole, so for scenarios with multiple sessions, it makes sense to distribute them across different addresses β residential proxies for targets where the "residential" reputation of the address is important, and datacenter ones where IP checks are softer, but speed is critical. How exactly the transport layer is detected and why curl_cffi made it into the table alongside browsers is discussed in the article about bypassing TLS/JA4 fingerprinting via curl_cffi.
The Longevity of the Project Is More Important Than Its Rank in the Table
Any open stealth tool eventually "leaks" and requires patching, and the cost of maintenance scales quickly. Therefore, the activity of the repository is as much a selection criterion as the pass rate. GitHub data as of August 13, 2026:
- Camoufox β 11,057 stars, last push on 12.08.2026: the project is alive and updated.
- Scrapling β 73,705 stars, push on 11.08.2026: the most popular on the list, but itβs a scraping framework as a whole, not just the stealth layer.
- Patchright β 4,076 stars, push on 05.08.2026: actively maintained, as confirmed by the benchmark.
- nodriver β 4,649 stars, but the last push was on 13.05.2026. The winner of the live test is updated less frequently than the others.
- zendriver β 1,390 stars, push on 09.08.2026. A fork of nodriver created to fix critical bugs and accept community contributions.
Separately, about the outsiders. rebrowser-playwright was benchmarked on Chromium 136, and its last commit dates back to September 2024: the project is effectively abandoned, hence the five hard blocks. CloakBrowser's build for macOS stood on Chromium 145 for two months while the versions for Linux and Windows were updated β an outdated engine version itself becomes a signal.
What to Choose for Your Scenario
- You already have code written in Playwright. Go for Patchright: itβs a replacement for import, not a project rewrite, and itβs the only one of the patch forks that the benchmark calls actively maintained. Keep in mind that it did not pass the test on google-search.
- You need maximum performance on tough targets under Cloudflare/DataDome. nodriver or its live fork zendriver β the only approach that removes the fingerprint of the automation protocol itself. The price is Chrome-only, a younger API, and fewer ready-made conveniences.
- The main threat is deep JS fingerprinting. Camoufox with engine-level substitution. Definitely in conjunction with address rotation: without it, the Firefox signature quickly accumulates negative reputation on a single IP.
- Data is delivered over HTTP without executing JS. curl_cffi with impersonate β 26 out of 31 targets without a browser at all. The cheapest resource option if the page does not require rendering.
- You are sold "98% pass rate." Such figures (for example, Scrapfly's claimed 98% against Cloudflare Bot Management and 96% against DataDome) are a vendor metric on its infrastructure and its pool of addresses, not a reproducible benchmark. Comparing it directly with open tables is incorrect.
And the general principle: test the tool on your target sites, not based on someone else's summary table. The gap of five targets between the leader and the base Playwright means that for a good half of tasks, the difference will not manifest at all β but on a specific glassdoor or canadianinsider, the choice will make all the difference. Understanding which systems are in place on your targets and how their logic differs is useful to know in advance: this is discussed in the comparison of anti-bots 2026: Cloudflare, DataDome, Akamai, Kasada.
Conclusion
For live targets in 2026, nodriver leads β with zero hard blocks out of 31 targets, because it leaves no trace of the automation protocol. For pure JS fingerprinting in the lab, Camoufox, CloakBrowser, RayoBrowse, and scrapling are ahead. There is no contradiction here: benchmarks measure different layers, and your choice depends on which layer impacts you.
But none of these tools solves the task entirely. The stealth browser is responsible for how your machine looks; the proxy is responsible for where you came from and what that address did before. Gates catch both a bad fingerprint and a dirty IP, and most strongly β the contradiction between them. Assemble the combination consciously: the tool for the type of detection, the address for the type of target, and check the result on your own pages, not on someone else's screenshot of a table.
