Plasmate vs Lightpanda vs Chrome
An honest, measured comparison of three browser engines for agent automation. All numbers are reproducible; methodology is linked below.
HTML to structured output
Time to fetch HTML, parse it, execute JavaScript, and produce structured output. This is the core pipeline - what agents actually wait on.
What the agent actually sees
Chrome and Lightpanda return raw HTML. Plasmate returns SOM, a semantic representation that strips layout, styling, and boilerplate. This is the difference that compounds at scale.
| Site | Raw HTML | SOM Output | Compression |
|---|---|---|---|
| accounts.google.com | 1.2 MB | 1.4 KB | 864x |
| x.com (Twitter) | 239 KB | 1.5 KB | 159x |
| linear.app | 2.2 MB | 21 KB | 105x |
| bing.com | 157 KB | 1.7 KB | 93x |
| google.com | 194 KB | 2.6 KB | 74x |
| vercel.com | 941 KB | 22 KB | 43x |
| steampowered.com | 842 KB | 23 KB | 36x |
| ebay.com | 831 KB | 33 KB | 25x |
| Wikipedia (USA) | 1.7 MB | 70 KB | 25x |
| duckduckgo.com | 391 KB | 12 KB | 33x |
Median compression across 98 sites: 9x (94 parsed, 98.9% success rate). Up to 1,544x on heavy SPAs. Lightpanda and Chrome return raw HTML (compression ratio: 1x). Full cost analysis.
What each engine can do
Honest accounting. Green means it works. Yellow means partial. Red means not yet.
| Feature | Plasmate | Lightpanda | Chrome |
|---|---|---|---|
| Core | |||
| HTTP loader | Yes | Yes | Yes |
| HTML parser (html5ever) | Yes | Yes | Blink |
| Full DOM tree | Yes | Yes | Yes |
| CSS rendering / layout | No | Partial | Yes |
| JavaScript | |||
| JS runtime | V8 | SpiderMonkey | V8 |
| fetch() API | Yes | Yes | Yes |
| XMLHttpRequest | Yes | Yes | Yes |
| Timers (setTimeout) | Yes | Yes | Yes |
| DOM APIs (querySelector, etc.) | Yes | Yes | Yes |
| Full Web Platform Tests | No | Partial | Yes |
| CDP Automation | |||
| page.goto() | Yes | Yes | Yes |
| page.content() | Yes | Yes | Yes |
| page.evaluate() | Yes | Yes | Yes |
| page.waitForFunction() | Yes | Yes | Yes |
| Network interception | Yes | Yes | Yes |
| TLS fingerprint control | Yes | No | No |
| Screenshots | No | No | Yes |
| Agent Features | |||
| Semantic Object Model | Yes | No | No |
| Agent Web Protocol | Yes | No | No |
| Token compression | 10-800x | N/A (raw HTML) | N/A (raw HTML) |
| Structured data extraction | Built-in | No | No |
| Wasm plugin system | Yes | No | No |
| Operations | |||
| HTTP cookie jar (Set-Cookie persistence) | Yes | Yes | Yes |
| Cookie APIs (automation) | Roadmapped | Yes | Yes |
| Proxy support | Via env vars | Yes | Yes |
| robots.txt | No | Yes | No |
| Licensing | |||
| License | Apache 2.0 | AGPL-3.0 | Chromium (BSD-ish) |
Data from March 2026. Lightpanda features based on their GitHub README and published docs. Chrome features based on Puppeteer v23.
Plasmate
Best for: high-volume page understanding, data extraction, LLM-driven agents that need to reason about web content. You care about tokens, speed, and memory more than pixel-perfect rendering.
Not for: screenshot testing, visual regression, or workflows that require full browser rendering fidelity.
Lightpanda / Chrome
Best for: testing web applications, full JavaScript SPA support, cookie management, and any workflow that needs a complete browser environment with pixel-perfect rendering.
Lightpanda is a faster, lighter Chrome alternative with the same paradigm. Chrome is the reference implementation.
How we measured
Engine speed: Local benchmark harness with cached HTML pages. Measures parse + JS + SOM compilation time, excluding network latency. Lightpanda's published per-page number (23ms) is from their BENCHMARKS.md. Plasmate's number (4-5ms) is measured locally on macOS ARM with the same methodology.
Token compression: 100 real websites fetched live across 13 categories (e-commerce, news, social, SaaS, developer tools, etc.). HTML byte count vs SOM byte count. Token estimates at ~4 chars/token. 98% success rate.
Memory: Peak RSS measured during 100 concurrent page loads.
All benchmarks are reproducible. Source code and benchmark scripts are in the Plasmate repo.