We should be giving all agents tools that excel at what’s important for an AI model. Kitesurf is Cloudflare’s new stateless, highly scalable, and cost-effective web browser that runs entirely on top of Workers and was designed specifically for the Agentic Cloud.
Chromium consumes 3 to 7 times more memory and CPU than an AI agent actually needs to read a web page. Cloudflare built a custom, stateless browser in 12 weeks that runs entirely inside V8 isolates to fix that. 👇
AI agents rely on headless browsers to automate web tasks, but traditional browser engines were built for humans. They spend massive amounts of memory and compute on smooth 60-fps scrolling, themes, tabs, and visual perfection. Forcing every AI agent to run its own Chromium instance gets prohibitively expensive at scale.
Cloudflare solved this by building Kitesurf, an agent-first browser engine written in Rust and compiled to WebAssembly that runs natively on Cloudflare Workers. It strips away human-centric UI features to deliver an ephemeral, lightweight browser optimized specifically for machine consumption.
Instead of running a giant browser binary, Kitesurf breaks page execution across multiple isolated Workers communicating via RPC.
Everything starts at the Engine worker, which exposes Chrome DevTools Protocol (CDP) endpoints. This means standard automation tools like Puppeteer and Playwright connect to Kitesurf without any modifications. The Engine manages session state and coordinates work, but delegates all heavy execution to stateless workers.
When a page requires network assets, all requests route through a single component called SandboxOutbound. It is the only worker permitted to touch the external internet, enforcing CORS rules, security policies, and isolated cookie jars.
To process page content, the Engine uses Dynamic Workers to spin up a fresh PageScript isolate for each page or iframe. This isolate builds a clean global environment and parses HTML and CSS using native Rust libraries like Blitz and Stylo. Page script tags and WebAssembly run directly inside this isolate. Because Cloudflare Workers disable native `eval()`, Kitesurf handles runtime JavaScript evaluations by running Boa JS—an ECMAScript engine written in Rust—inside the isolate.
When a visual frame is requested, the Engine calls a separate PageRenderer worker using Worker-to-Worker RPC. PageRenderer receives the DOM scene, fetches fonts, rasterizes text into line blocks, and converts the output into a PNG, JPEG, or PDF buffer. Because the renderer holds no state, the Engine can instantly kill and restart it if a complex page causes a hang, ensuring bad web input never crashes the underlying session.
While Chromium still beats Kitesurf on wall-clock execution by about 1.7x due to its mature JIT compiler and hardware rendering, Kitesurf slashes CPU and memory overhead by 3x to 7x. It already passes over 215,000 Web Platform Tests, handles modern sites like Wikipedia and React apps, and can even render and run Doom entirely inside Workers.
NayaRead shows a summary and links to the original article. The full article is hosted on blog.cloudflare.com.