Cloudflare has open-sourced Kitesurf, its lightweight browser engine built specifically for AI agents. The source code is available on GitHub under the Apache 2.0 license. It’s a browser engine in the sense that it can load websites, run JavaScript, and render pages, but it’s not a browser in the traditional sense (i.e., it doesn’t require Chromium or a full browser container).
First launched in August, Kitesurf runs entirely on Cloudflare Workers. They expanded the offering in September with WebMCP support, additional APIs, and compatibility improvements. Developers can now inspect and modify the engine, run it locally, or deploy their own instances onto Cloudflare Workers rather than just using the company’s managed Browser Run APIs.
The engine is designed to reduce the compute required for browser automation. Instead of launching a full browser instance for each task, Kitesurf does the HTML parsing, CSS application, JS execution, and screenshot capture via a suite of Rust components compiled to WebAssembly.
Under the hood, Kitesurf uses Blitz for HTML parsing, DOM manipulation, and layout, and Stylo for CSS processing. JS execution is mostly via Cloudflare’s Dynamic Workers with the Boa JS engine as a WebAssembly-based fallback when required. It also uses the Linebender libraries for text layout and 2D graphics and Krilla for PDF generation.
It’s three parts, really. The engine deals with the browser sessions and the client connections. PageScript is responsible for page execution and JavaScript. PageRenderer is the bit that actually renders the page.
Importantly, Kitesurf supports the Chrome DevTools Protocol so you can connect with existing automation tools, like Puppeteer, rather than having to switch to a completely different interface. That said, Cloudflare notes that Kitesurf doesn’t currently support all of the Chrome DevTools features.
Developers who’d like to test the project can clone the GitHub repo, install the dependencies, and run the engine locally via Wrangler. The dev server is available at http://127.0.0.1:8787, where you can view the pages via Chrome DevTools or connect automation clients to the CDP endpoint.
Kitesurf has to be deployed to a Cloudflare account on a Workers Paid plan as the engine uses Dynamic Workers to isolate each individual page. You don’t need the deployment for local development.
Cloudflare also notes that Kitesurf is still very much in the experimental stage and is under active development. The team is currently focused on improving web standards compliance, reliability, and resource usage and is keen to take any contributions from the community via GitHub.
For more info, visit Cloudflare’s official announcement.
