Cloudflare announced on its blog and developer changelog that Kitesurf is now open source on GitHub under the Apache 2.0 license. Introduced in August as a stateless browser for AI agents, Kitesurf runs entirely on Cloudflare Workers: it parses HTML, applies CSS, executes page JavaScript and renders screenshots without Chromium or a browser container, and it speaks the Chrome DevTools Protocol so Puppeteer can connect. Developers can now run it locally, change it, and deploy it to their own Cloudflare account instead of the managed Browser Run APIs; self-hosting requires a Workers Paid plan, and the engine has no built-in authentication.
Key Takeaways
- ✓Kitesurf is open source on GitHub (cloudflare/kitesurf) under Apache 2.0; you can read the code, run it locally, modify it and deploy it to your own account (Cloudflare Blog)
- ✓Positioned as a lightweight browser for AI agents: runs entirely on Workers with no browser container, aiming to use less CPU and memory than Chromium
- ✓Speaks the Chrome DevTools Protocol, so Puppeteer and other CDP clients connect directly; Cloudflare also suggests pointing an AI harness at the local CDP port
- ✓Stack: Blitz (HTML/DOM/layout/painting), Stylo (CSS), Boa (JavaScript fallback inside WebAssembly), Linebender (text and 2D graphics), Krilla (PDF)
- ✓Self-hosting needs a Workers Paid plan (it uses Dynamic Workers), and the engine has no built-in auth, so Cloudflare says to put Cloudflare Access or another auth layer in front; the project is still experimental

Key Decision Metrics at a Glance
Turn your technical choice into a development budget
Compare 40 dev plans & simulate token costs vs $20/mo subscriptions
Project Links & Resources
Direct AccessIn-Depth Technical Analysis
Background
The usual way for AI agents to browse is to spin up a full Chromium per task, which is heavy on CPU and memory and slow to scale. Cloudflare launched Kitesurf in August, added WebMCP support in September, and kept promising to open-source it; its November 13 blog post delivers on that.
Architecture
Kitesurf has three parts: the Engine manages browser sessions and client connections, PageScript runs the page and its JavaScript, and PageRenderer draws the result. Underneath is a set of open-source Rust crates compiled to WebAssembly: Blitz for HTML parsing, DOM, layout and painting; Stylo for CSS; Linebender for text layout and 2D graphics; and Krilla for PDF output. JavaScript runs in Dynamic Workers where possible, with Boa only as a fallback. It speaks CDP, so existing Puppeteer scripts can mostly connect as-is.
Numbers
Cloudflare did not publish specific performance figures this time, only the goal of using less CPU and memory than a full browser; compatibility progress is tracked on its Web Platform Tests page. Cloudflare notes the project is under heavy development and not every DevTools feature is supported.
Getting started
Locally: clone cloudflare/kitesurf, run pnpm install --frozen-lockfile then pnpm run dev; the first build compiles the Rust core, then a server starts at 127.0.0.1:8787 and Puppeteer connects to ws://127.0.0.1:8787/devtools/browser. In production: pnpm run deploy to your own account on a Workers Paid plan, and always put Cloudflare Access or another auth layer in front, or anyone with the URL can browse through your account and burn your quota.
Benchmark side-by-side against alternatives, or calculate monthly token cost vs subscription break-even.
Discussion & Comments
0Sign in to join the discussion
Connect with AI developers to exchange benchmark insights.