Skip to content
IDEAS   /   SYSTEMS   /   EXPLORATIONOPEN A CONVERSATION
FIELD NOTES / Automation

Lightpanda: A Browser for Machines, Not Humans

Headless Chrome is a human-display engine with the display turned off. Lightpanda starts from the opposite question — what does an agent actually need from a browser? — and the answer is written from scratch in Zig.

AutomationAI EngineeringTools

Every automation stack I have touched — scrapers, n8n workflows, agent tools — eventually funnels through the same bottleneck: a headless Chrome instance burning hundreds of megabytes to not display a page. Headless mode does not remove the display engine; it just points it at nothing. The compositor, the font shaper, the image decoder all still run, because Chromium was architected for eyes.

Lightpanda is the first project I have seen take the opposite question seriously: what does a machine actually need from a browser? And instead of forking Chromium and amputating, its team wrote a browser from scratch in Zig — a systems language chosen for explicit memory control — around a deliberately short list: execute JavaScript, build a real DOM, speak the network, expose it all to automation.

Headless Chrome carrying GPU compositing, font rendering and image decoding versus Lightpanda: V8, html5ever, libcurl, CDP, markdown output and MCP — with roughly 11x speed and 9x memory improvements
Headless Chrome carrying GPU compositing, font rendering and image decoding versus Lightpanda: V8, html5ever, libcurl, CDP, markdown output and MCP — with roughly 11x speed and 9x memory improvements

What it keeps, what it drops

The architecture is honest about what is hard. JavaScript execution is not reinvented — it embeds V8, because a from-scratch JS engine is a decade of work and compatibility pain. HTML parsing rides on html5ever, HTTP on libcurl. What is built new is the part nobody had built for machines: a DOM and browser runtime with no rendering pipeline at all — no GPU compositing, no font rendering, no image decoding, no pixels. The reported result is on the order of eleven times faster than headless Chrome with roughly nine times less memory. Benchmarks from vendors deserve suspicion, but the direction is mechanically obvious: the fastest render is the one that never happens.

The agent-shaped parts

What makes it more than a lean scraper is the feature list converging on agents specifically: native Markdown output of a page — exactly the format you want to hand an LLM, no readability post-processing; MCP support, so an agent framework can drive it as a first-class tool; network interception for the request-level control agents need; and built-in robots.txt respect. That last one matters more than it looks: a machine-first browser that honors machine-readable politeness is infrastructure the agent ecosystem badly needs, given how much of the web is currently locking down against exactly this traffic.

Where it fits, where it does not

The trade is compatibility. A from-scratch DOM will hit sites that lean on rendering-adjacent APIs, layout measurement, or the long tail of browser quirks that Chromium has spent two decades absorbing — for those, real Chrome (or a stealth fork) remains the fallback. The right mental model is a tiered fleet: Lightpanda for the high-volume, structure-extraction, agent-navigation work where speed and memory dominate; a heavyweight browser held in reserve for the pages that fight back. For the workloads that are eating browser-hours in agent systems — read page, extract structure, decide, move on — a browser that was never meant for eyes is simply the right tool, and it took until now for someone to build it.