Cloudflare has released Kitesurf, an experimental browser engine for AI agents, into the public domain. It runs on Cloudflare Workers without Chromium or browser containers. The engine parses HTML, applies CSS, executes JavaScript, and renders screenshots, PDFs, and HTML, while communicating with external tools via the standard Chrome DevTools Protocol. The code is distributed under the Apache 2.0 license. While the engine can be run locally, deploying it to Cloudflare requires a paid Workers plan.


What happened
Cloudflare published the source code for Kitesurf, its experimental browser engine for AI agents, in the repository github.com/cloudflare/kitesurf under the Apache 2.0 license. The engine runs statelessly on Cloudflare Workers: instead of Chromium and browser containers, it assembles a rendering stack from Rust and Wasm components. Blitz handles the DOM and layout, Stylo handles CSS, Boa executes JavaScript on top of Wasm, Linebender processes text and 2D graphics, and Krilla is responsible for PDF generation. On this stack, Kitesurf parses HTML, applies CSS, executes JavaScript, and renders screenshots, PDFs, and HTML. The engine speaks the Chrome DevTools Protocol, so Puppeteer, Chrome DevTools, and AI agents can connect to it without modification via chrome-devtools-mcp. Local startup is described by the command pnpm run dev on port 8787, while deploying to a personal Cloudflare account requires a paid Workers plan due to the use of Dynamic Workers.
Context
Routine browser automation for agents typically relies on farms of headless Chromium containers, which are expensive in terms of CPU and memory and complicate operations. Kitesurf offers a different path: rendering a page as a serverless primitive that runs on demand on Cloudflare infrastructure. The architecture itself is not new science but an integration of ready-made components: Stylo is proven in Servo, while Blitz, Boa, Linebender, and Krilla are existing projects. The novelty here lies in assembling them around the "browser for AI agents" scenario and executing them on demand. The key engineering decision is compatibility with the Chrome DevTools Protocol: this drastically reduces the cost of verification, as anyone can run their existing pipeline against the engine without changing tools. Open code under Apache 2.0 makes the system reproducible in principle: the repository is public, local startup steps are described, so benchmarks can be built independently without relying on vendor figures.
Why this matters for the industry
For the industry, the significance lies in the economics of rendering: instead of heavy Chromium containers, the engine scales on demand on Cloudflare's serverless infrastructure with lower CPU and memory consumption, although this is currently a vendor claim without published measurements. Open code allows companies to deploy their own browser for agents and integrate it into pipelines via standard CDP rather than proprietary APIs. For startups, this is a potential shift in the unit economics of agent infrastructure. Using CDP, a rendering step can already be built into any agent pipeline today, and content validation, screenshots, and PDFs can be sold as separate features on top of the engine. If compatibility with the real web matures, part of the "browser as a service for agents" workload may shift from container farms to serverless engines, with CDP remaining the common interface between agents and rendering. Point integrations into agent frameworks and an increase in issues and PRs in Blitz and Boa are likely. However, the project is currently experimental, and these scenarios depend on independent benchmarks, which do not yet exist.
Why this matters for users
The code is open, so initial experiments cost almost nothing: you can clone github.com/cloudflare/kitesurf for free, start the engine locally with the command pnpm run dev on port 8787, and connect Puppeteer, Chrome DevTools, or your own AI agent to it via CDP. This is sufficient for prototypes: rendering pages, taking screenshots, and generating PDFs for agent or RAG pipelines, as well as reading pages after JavaScript execution. For the external perimeter, this is not a ready-made service: deploying to a personal Cloudflare account requires a paid Workers plan, and a public URL must be secured via Cloudflare Access, as the engine itself has no authentication.
What is currently unknown / limitations
Available materials contain no figures for CPU and memory, latency, web compatibility metrics, or test results. Therefore, the claim of reduced automation costs remains a vendor hypothesis rather than a measured result. The phrase "executes JavaScript" does not mean that Boa in Wasm correctly runs scripts from real sites in the same way as the engines on which Chromium is built: the percentage of correctly rendered sites is unknown, and Boa versus V8 appears to be the bottleneck, while Stylo is already mature in terms of CSS. The engine is marked as experimental, deployment is limited to the paid Workers plan, and independent benchmarks for web compatibility and cost under real loads will only appear if the community starts running real pipelines through the engine.
Sources
- Cloudflare Blog — Kitesurf is now open source
- GitHub — cloudflare/kitesurf: experimental browser engine on Cloudflare Workers
- Kitesurf — stateless browser running entirely on Workers
Author
Look at AI, editorial team
