Cloudflare has launched Kitesurf, a stateless web browser designed for AI agents that runs entirely within V8 isolates on Cloudflare Workers without relying on Chromium.
In this article
Traditional browser engines were built for human users, creating memory and compute overheads that make running one browser per agent prohibitively expensive. Agents do not require tabs, extensions, or pixel-perfect 60-fps rendering. They need machine-readable content, low token overhead, scalability, and isolation against threats like prompt injection. Kitesurf removes the human-facing layers and retains only what models require. It currently passes over 215,000 Web Platform Tests and is available for free in beta through Browser Run.
Deployment and Compatibility
The tool operates as a free beta within Browser Run, subject to per-account limits. It functions well for compatible sites and single-shot tasks, falling back to Chromium for complex pages. Adoption costs little because existing Puppeteer, Playwright, and MCP clients work by adding a single browser=kitesurf parameter.
- Company levels: Startups and indie agent builders benefit most from the 3–7× lower CPU and memory footprint. Mid-market SaaS and enterprises already on Cloudflare Workers can switch selected workloads with one parameter.
- Industries: AI agent platforms, web data extraction, SaaS automation, competitive monitoring, PDF/document generation, and search/RAG ingestion pipelines.
- Applications: Agent web browsing, screenshots, HTML extraction, PDF rendering, and bursty one-shot Quick Actions.
- Potential customers: AI engineers building browser-using agents, platform engineers scaling automation fleets, data engineers and data scientists running extraction jobs, and technical founders tracking per-session infrastructure costs.
- Not yet: Video, WebGL, TLS-fingerprint bot challenges, and long authenticated stateful sessions — keep those on the Chromium default.
Architecture
Kitesurf splits the browser into isolated Workers components. The Engine is the only public-facing piece. It speaks the Chrome DevTools Protocol over WebSocket plus HTTP REST, and stores each session’s state. Every other component is stateless and disposable.
PageScript is built on Dynamic Workers. Each page or out-of-process iframe gets its own long-lived isolate with a clean globalThis and DOM. HTML and CSS parsing use Blitz, a modular Rust rendering engine, and Stylo, Firefox’s CSS parser. Because Workers does not support native eval, occasional eval calls run through Boa JS, a Rust ECMAScript engine, a runtime on top of a runtime.
PageRenderer rasterizes the computed scene into JPEG/PNG or PDF using blitz-paint and Parley for text shaping. A dedicated SandboxOutbound worker is the only component allowed to touch the network. It enforces CORS, injects browser-shaped headers, keeps per-page cookie jars, and returns a 403 for anything violating policy.
Performance Benchmarks
WPT coverage grows by hundreds of passing tests weekly. On Cloudflare’s 14-URL corpus (medians of five Quick Action runs), Kitesurf used 380 ms CPU per screenshot vs 1,173 ms for Chromium (3.1× less) and 229 ms vs 877 ms for HTML extraction (3.8× less). Memory dropped from 271.0 MiB to 57.8 MiB for screenshots (4.7×) and from 273.7 MiB to 39.4 MiB for extraction (7.0×). Chromium remains faster on wall time: Kitesurf is 1.8× slower on screenshots and 1.7× slower on extraction, mostly in rasterization and image encoding. Since memory and CPU drive the bill, the trade favors bursty agent workloads. It also runs Doom.
Usage and Limits
Existing Puppeteer, Playwright, chrome-remote-interface, and MCP clients work unchanged. Add browser=kitesurf to the Browser Run CDP endpoint or Quick Actions API. A public playground with injected Chrome DevTools shows DOM, console, network, and per-isolate WebAssembly memory. Kitesurf already renders TodoMVC (vanilla, React, Vue, Angular, Preact), Wikipedia, and Hacker News. Cloudflare plans to open source Kitesurf so customers can deploy their own instances.
What it means
Developers can reduce infrastructure spend significantly for agent fleets by swapping standard browsers for Kitesurf, provided the tasks do not require video or complex graphics. The shift moves costs from raw compute cycles to memory usage, which is far cheaper in the Workers environment. This allows teams to scale browser-based automation without the usual bill shock associated with running multiple Chromium instances.



