Compare · Headless Chrome
Webfold vs Headless Chrome
Webfold serves the Chrome DevTools Protocol from its own engine. Your Playwright code can drive it unchanged. It ran about 8.8 times the concurrent tasks a second of headless Chrome. It used about 24 times less memory. Some web features do not run yet.
Playwright, Puppeteer or Selenium each drives a real Chrome. Webfold serves the same Chrome DevTools Protocol from its own engine. The same client code can drive it with no browser launched. We ran one scripted task on both. We counted what each used.
Webfold on its own
How fast is Webfold alone?
Each job is measured on its own. The performance page states the figures once. We link them here.
- Run a page's scripts and drive it like a browser: 8 ms to start, 70.7 ms a scripted task. 106.6 tasks a second in 30 MB.
Now the comparison
Webfold against Headless Chrome
| Aspect | Webfold | Headless Chrome |
|---|---|---|
| Cold start | 8 ms | 240 ms (headless Chrome, chromium-1194) |
| Warm task, median | 70.7 ms | 164.7 ms |
| Concurrent tasks per second | 106.6 | 12.1 |
| Resident memory | 30 MB | 724 MB |
| CPU seconds for the run | 0.8 | 12.1 |
| Tasks failed | 0 of 363 | 0 of 363 |
| Lexbench, the independent agent-browser benchmark (1,928 tasks, 13 drivers plus the web platform) | 1,928 passed, every attempt, in three full runs. | 1,926 passed in the benchmark's published run. |
| Ordinary page JavaScript, compared with Chromium on the same machine | All 68 of the original expressions, all 300 more, all 388 BigInt, all 277 typed-array and all 60 Float16Array expressions give exactly Chrome's answer. | Every one, by definition. |
| Protocol coverage | Answers 242 of 640 Chrome commands, including every stable command automation drivers use. | All of them. |
| Web-platform breadth | Runs page scripts, service workers, WebSockets, server-sent events and CSP. BigInt, shared-byte typed arrays and Float16Array work. No canvas, WebGL, web workers or WebAssembly yet. | The whole platform. |
Where is each tool ahead?
Where Headless Chrome is ahead
- Pages that draw to canvas or WebGL. Pages that need web workers, WebAssembly or media playback. Those are not in Webfold's engine yet.
- Pixel-exact screenshots. Webfold's renderer is stable for regression tests. It is not identical to Chrome.
- Hosted live view with session recording. A headful co-pilot.
- The full DevTools protocol. That includes WebAuthn. Webfold does not answer those commands.
Where Webfold is ahead
- About 24 times less memory. About 15 times less CPU for the same task. So far more sessions fit on one machine.
- About 8.8 times the concurrent tasks a second. About 30 times faster to start.
- It passes all 1,928 tasks of the independent Lexbench benchmark. That includes the 188 that test what a page does after its scripts run. No other lightweight engine passes more than 81%.
- Your Playwright, Puppeteer or Selenium code connects over CDP. The test logic does not change.
- Some pages need real Chrome. `scrape --render` connects to a Chromium you run. You keep one tool.
How do I move from Headless Chrome to Webfold?
| If you use | In Webfold |
|---|---|
| chromium.launch() | start webfold headless serve 9222, then connect your client to that CDP endpoint |
| Playwright locators, fill, click | supported through the engine's in-page interpreter; the supported surface is listed by webfold.getCapabilities |
| pages that need full Chrome | webfold scrape --render against a Chromium you run |
What is the evidence?
Each figure states its dataset. It states its limits.
FAQ
Frequently asked questions
Is this a drop-in replacement for Chrome?
For agent work, usually. It runs the page's scripts, answers every stable protocol command automation drivers use, and passes the full independent benchmark. Keep Chrome for pages that need canvas, WebGL, web workers or WebAssembly, and for pixel-exact screenshots; Webfold can hand those to a Chromium you run.
Whose benchmark is Lexbench?
Lexmount's, the makers of a competing engine. We ran their tasks unchanged. Their published run has Chrome at 1,926 of 1,928.
How reliable are the numbers?
Ratios hold, digits do not: one fixture page, one shared 4-core VM, three repeats, and the page has a 60 ms timer so no engine can finish faster than about 60 ms. The benchmark page lists the limits.
Try it on your own pages.
Run the command-line tool. Join the waitlist for the hosted API.