Skip to content

The open-source undetected-chromedriver alternative

undetected-chromedriver is a great zero-config way to hide the Selenium/ChromeDriver seam — but it drives a stock Chrome and never touches the network layer. Clearcote changes the fingerprint inside the engine and keeps the TLS/HTTP-2 stack coherent, so there's no seam to hide.

What is undetected-chromedriver?

undetected-chromedriver is a popular Python library (~12.7k stars, by ultrafunkamsterdam) that patches Selenium's ChromeDriver to remove the obvious automation tells — it neutralizes the injected cdc_ variables and strips flags like --enable-automation, then drives a real, unmodified Chrome. It's GPL-3.0, free, and genuinely effective against lenient or older detection.

The ceiling is that it only hides the driver. The Chrome engine is stock, so engine-level values (canvas, WebGL, the full navigator surface) are whatever your machine reports and can't be shaped into a coherent persona. It also leaves the network layer alone — the TLS/JA3-JA4 and HTTP/2 fingerprint is a stock automation signature — and development has largely moved to its successor, nodriver.

Clearcote vs undetected-chromedriver

FeatureClearcoteundetected-chromedriver
Approach Engine-level C++ patches — native values Patched chromedriver on stock Chrome
Fingerprint control Coherent persona (canvas/WebGL/fonts/navigator) Stock engine values, unchanged
TLS / network coherence Follows the claimed Chrome (JA3/JA4 + HTTP/2) Stock automation network signature
Framework Playwright & Puppeteer (Python + Node), CDP Selenium (Python)
License Open & permissive GPL-3.0 (copyleft)
Headless / Docker / server First-class (CDP endpoint + image) Headless weaker / WIP
Cost Free & open Free & open

Comparison compiled July 2026. undetected-chromedriver is open source (gpl-3.0); details change — check its project for the latest.

Why teams pick Clearcote

No seam to hide

undetected-chromedriver renames the driver's tells on an otherwise-stock browser. Engine-level patches change the native values, so there's nothing injected to detect in the first place.

The network layer, too

It leaves TLS/JA3-JA4 and HTTP/2 as a stock automation signature. Clearcote makes the handshake match the claimed Chrome version — a layer a driver patch can't reach.

Coherent across realms

Native values agree in the main frame, Web Workers and cross-origin iframes — where driver/JS tricks often diverge.

Automation-first ecosystem

Playwright and Puppeteer, Python and Node, a CDP endpoint and a Docker image — not just a Selenium driver shim.

When undetected-chromedriver might be the better pick

  • You have an existing Selenium codebase and want the lightest possible drop-in.
  • Your targets are lenient and you just need the ChromeDriver tells gone.
  • You want zero binary to manage — it patches and drives your local Chrome.

FAQ

Is undetected-chromedriver enough to avoid detection?

Against lenient or older detection, often yes. Against strict systems it has a structural ceiling: it hides the ChromeDriver seam but runs a stock Chrome engine and a stock network stack, so engine-level and TLS/HTTP-2 fingerprints are unchanged.

How is Clearcote different?

undetected-chromedriver patches the Selenium driver on top of your normal Chrome. Clearcote is a modified Chromium: the fingerprint is changed in the engine (native, coherent across workers and iframes) and the TLS/HTTP-2 stack follows the claimed Chrome version.

Are both free?

Yes — undetected-chromedriver is GPL-3.0. Clearcote is free and open under a permissive license, with an optional paid Pro build.

Related reading

Q&AWhy does navigator.webdriver reveal automation?navigator.webdriver is true whenever a browser is launched under automation flags; overriding it from JavaScript is itself detectable, so the fix belongs in the engine.Q&AWhat is CDP detection?The Chrome DevTools Protocol drives automation but leaves side-effects — Runtime.enable, injected init scripts, main-world execution — that a page can observe. Spotting those is CDP detection.ResearchHow automation gets caught, layer by layerFrom the WebDriver flag to the TLS handshake — the distinct layers a detector reads, and why fixing one rarely helps.CompareClearcote vs CamoufoxCamoufox is a well-built open-source anti-detect browser — on Firefox. Clearcote takes the same engine-level, open-source philosophy to a de-Googled Chromium, so your automation blends in with the ~65% of the web that runs Chrome.CompareClearcote vs CloakBrowserCloakBrowser is a capable engine-level stealth Chromium — but the patched binary is closed-source and the current engine sits behind a subscription. Clearcote takes the same engine-level approach fully in the open: readable patches, reproducible builds, and free on the current Chromium.CompareClearcote vs nodrivernodriver is the modern successor to undetected-chromedriver — fast, async, no Selenium, straight CDP. But it still drives a stock Chrome and doesn't touch the network layer. Clearcote pairs the same CDP-first ergonomics with an engine that actually changes the fingerprint and a coherent TLS/HTTP-2 persona.

Try the open-source Chromium alternative

Free and open source, a drop-in for Playwright & Puppeteer, coherent down to the TLS handshake.