Cloudflare ships Kitesurf, a browser built for AI agents, not Chromium

Cloudflare announced Kitesurf, a browser built specifically for AI agents rather than humans, running entirely on top of Cloudflare Workers instead of a Chromium-based engine. It ships free while in beta as part of Browser Run, Cloudflare's headless browser automation API product.
Cloudflare's argument is that browser engines like Chromium were designed for humans, not agents, and carry overhead an AI model does not need: tabs, themes, extensions, cross-device sync, pixel-perfect rendering, smooth scrolling. That overhead makes giving every agent its own Chromium instance expensive enough to lock out all but the most well-resourced AI models. Kitesurf instead optimizes for what agents actually care about: token count, context window, scalability, performance, and cost, while tolerating imperfect CSS parsing or rendering.
The idea had come up internally at Cloudflare for years without going anywhere. It restarted after an AI agent helped port obscura, a headless Rust engine for AI automation with, in its own description, "no Chrome, no Node.js, no dependencies," to Workers as a rough proof of concept. Twelve weeks after Cloudflare decided to commit to building its own browser, it announced Kitesurf.
The browser is built from three components. The Engine is the only public-facing piece: it speaks the Chrome DevTools Protocol (CDP) over WebSocket and HTTP REST, so existing tools such as Puppeteer, Playwright, chrome-remote-interface, and the Chrome DevTools frontend can point at Kitesurf unchanged, and it is the only component that keeps session state. PageScript spins up a per-page (or per-iframe) isolate using Cloudflare's Dynamic Workers feature, parses HTML and CSS with Blitz (a modular rendering engine) and Stylo (Firefox's CSS parser), both written in Rust and compiled to WebAssembly, and runs the page's JavaScript and Wasm inside that same isolate. Because Workers still does not support native eval, Kitesurf runs Boa JS, a Rust-based ECMAScript engine, inside the isolate to handle eval calls, an approach Cloudflare calls workable but not optimal, pending native eval support. PageRenderer turns the parsed page into pixels, using another Blitz module (blitz-paint) plus Parley for text shaping, and returns a JPEG, PNG, or PDF. A separate SandboxOutbound worker is the only component allowed to touch the network directly; it enforces CORS, injects browser-like headers, filters responses, keeps each page's cookies isolated, and returns a 403 for anything that violates policy.
Cloudflare says Kitesurf is "significantly more efficient in CPU and memory consumption than Chromium for common agentic tasks like screenshots and HTML extraction," though it gives no benchmark numbers to back that. To validate correctness, the team ran the Web Platform Tests conformance suite plus its own multistep Puppeteer integration and visual regression tests comparing Kitesurf's output against Chromium on real websites. Design principles behind the build include preferring native Rust compiled to Wasm over Emscripten emulation layers, treating every failure as something that should degrade to a blank frame rather than kill the session, treating every page load as untrusted input with a fresh session each time, and keeping every component stateless except the Engine.
Key facts
- Kitesurf runs entirely inside V8 isolates on Cloudflare Workers, replacing Chromium as the browser engine for AI agent tasks like screenshots and HTML extraction.
- It is free while in beta, offered as part of Browser Run, Cloudflare's headless browser automation API product.
- Cloudflare says Kitesurf is significantly more efficient in CPU and memory than Chromium for common agentic tasks, but the announcement gives no specific benchmark figures.
- The browser has three main components: the Engine (speaks the Chrome DevTools Protocol, holds session state), PageScript (parses HTML/CSS with Rust-based Blitz and Stylo, runs JS in per-page isolates spun up via Dynamic Workers), and PageRenderer (rasterizes pixels using Blitz's paint module and Parley for text shaping).
- The project traces back to an AI-assisted port of obscura, a Rust-based headless engine for AI automation, and Cloudflare went from committing to build its own browser to announcing Kitesurf in 12 weeks.
Why it matters
Headless Chromium is the default way AI agents browse the web today, but it is a full human-facing browser engine repurposed for machines: it carries memory and compute overhead for tabs, extensions, sync, and pixel-perfect rendering that an agent never uses. Cloudflare argues that overhead makes giving every agent its own browser instance expensive enough to shut out all but the most well-funded AI applications. Kitesurf is its answer: a browser engine built from scratch to run inside Cloudflare Workers' V8 isolates and optimized for what agents need, token count, context window, scalability, performance, and cost, rather than what humans need.
Who it affects
Developers building AI agents that need to browse, scrape, screenshot, or extract HTML from the web through Cloudflare's Browser Run API. Because Kitesurf's Engine component speaks the standard Chrome DevTools Protocol, existing tooling built on Puppeteer, Playwright, chrome-remote-interface, or the Chrome DevTools frontend can point at Kitesurf without modification. It also matters to Cloudflare's own Workers platform team, since Kitesurf is presented as a showcase for newer Workers primitives like Dynamic Workers, SQLite-based Durable Objects, and worker-to-worker RPC.
How to use it
Kitesurf is available now, free while it remains in beta, as part of Browser Run, Cloudflare's existing headless browser automation API product. No changes are needed for clients that already speak the Chrome DevTools Protocol. Cloudflare does not state what Kitesurf will cost or how it will be licensed once the beta ends.
How solid is it
The efficiency claim, "significantly more efficient in CPU and memory consumption than Chromium for common agentic tasks like screenshots and HTML extraction," is stated qualitatively with no benchmark numbers or percentages attached. Cloudflare describes testing it against the Web Platform Tests conformance suite plus its own multistep Puppeteer integration tests and visual regression comparisons against Chromium on real websites, and building the rendering core on established Rust libraries: Blitz for layout, Stylo (Firefox's own CSS parser) for CSS, and Parley for text shaping, all compiled to WebAssembly. The one clearly acknowledged weak spot is JavaScript eval, which Workers does not support natively; Kitesurf works around it by running Boa JS, a Rust ECMAScript engine, inside the same isolate, a solution Cloudflare itself calls workable but not optimal.
Risks and caveats
Kitesurf ships in beta with no stated timeline or pricing for when that ends. The headline efficiency claim over Chromium is not backed by any published number, so the actual size of the CPU or memory saving cannot be checked from the announcement alone. The eval workaround, an ECMAScript engine running inside a Workers isolate, is an explicit stopgap pending native eval support in Workers. Cloudflare does not name the engineers or state the team size behind the project, and the origin project it built on, obscura, is described only briefly.
“Kitesurf is significantly more efficient in CPU and memory consumption than Chromium for common agentic tasks like screenshots and HTML extraction.”
— Cloudflare, Kitesurf announcement