If you run browser automation at any real scale, you already know the painful part is not writing the script. It is paying for the browser. Every headless Chrome instance eats hundreds of megabytes of memory, starts slowly, and multiplies your cloud bill the moment you parallelise. Lightpanda headless browser open source is a project that attacks exactly that problem, and it has earned attention fast: more than 40,000 GitHub stars for a browser built from scratch in Zig, designed specifically for AI agents and automation rather than for human browsing. This deep dive explains what Lightpanda is, what it can genuinely do today, how to run it, and where it still falls short of Chromium — so you can decide whether it belongs in your scraping, testing, or agent stack.
What Lightpanda Is
Lightpanda is a headless browser written from scratch in Zig. That last detail matters more than it sounds. It is not a Chromium fork, not a stripped-down Chrome, and not a WebKit patch. The team rebuilt the pieces a headless browser needs — an HTML parser built on html5ever, a DOM tree, JavaScript support via the V8 engine, fetch and XHR, cookies, and a Chrome DevTools Protocol (CDP) server — without carrying the rendering engine, GPU pipeline, and extension machinery that make a desktop browser heavy. The result is a binary aimed at one job: load pages, run their JavaScript, and hand structured results back to code.
The project is licensed under AGPL-3.0: you can use and modify it freely, but running a modified version as a network service obliges you to share the source under the same terms — worth settling with counsel before building a hosted product on it. The repository is actively maintained, updated on the day this article was written, and its roughly 2,000 forks show a community building on it, not just starring it.
What Lightpanda Can Do
Lightpanda covers the core automation surface that most scraping and agent workloads actually use. It can fetch a page and dump it as HTML, Markdown, JSON-LD and other structured data, or as a text-only PNG or PDF. It runs a CDP server on port 9222 by default, so existing Puppeteer and Playwright-style tooling can connect to it with a browser WebSocket endpoint instead of launching Chrome. It also supports the WebDriver BiDi protocol, so teams standardising on BiDi are not locked out.
- Page fetching and extraction: dump HTML, Markdown, structured data (JSON-LD, OpenGraph, Twitter cards, meta and link tags), or text-only PNG and PDF output from a single command.
- CDP and BiDi servers: drive it from Puppeteer, Playwright-compatible clients, or WebDriver BiDi tooling, on TCP or a Unix-domain socket.
- Clicking, forms and navigation: click elements, fill in forms, manage cookies, set custom headers, use proxies, and intercept network requests.
- Waiting controls: wait for a time delay, a selector, or a script condition before dumping, which matters on JavaScript-heavy pages that render content after load.
- Robots handling and ad blocking: an option to obey robots.txt, plus a built-in ad blocker that cuts junk requests out of automated crawls.
- Agent mode: a built-in agent that takes plain-English tasks, drives the browser, and exports the session as a replayable PandaScript — vanilla JavaScript with a small set of native browser primitives.
- Native MCP server: expose Lightpanda over the Model Context Protocol so AI assistants and agent frameworks can browse through it directly, with separate sessions per connection over HTTP.
The agent mode points at where this project is heading. Instead of an agent framework shelling out to a browser and paying a model on every step, Lightpanda’s agent runs inside the same process as the browser, so tool calls become direct operations. You prototype a task conversationally, save the session, and replay the resulting script deterministically without a model at runtime — turning an exploratory run into a repeatable automation artefact. It supports Anthropic, OpenAI, Gemini, Mistral, OpenRouter, any OpenAI-compatible endpoint, and local models via Ollama or llama.cpp, or no model at all in REPL mode.

How Lightpanda Works
Under the hood, Lightpanda is a deliberately small stack. Zig gives it a single-binary build with tight memory control. Libcurl handles HTTP loading. The html5ever parser builds the DOM, V8 runs page JavaScript, and the CDP server exposes the browser to outside tooling. There is no layout engine producing a pixel-perfect visual render in the way Chromium does — which is precisely why the binary is so light, and also why visual regression testing and screenshot-diffing are not its strengths. Its PNG and PDF dumps are text-only renderings, not faithful screenshots.
That trade-off is the whole design philosophy. Most automation does not need pixels: a price monitor needs the price, an agent needs the links and form fields, a pipeline needs the structured data. Lightpanda spends its resources on exactly those things, which is why it runs many more concurrent pages per machine than a Chromium fleet.
Why Lightpanda Is Trending
Three forces meet in this project, and each one is real. First, AI agents browse the web now, and agent traffic is bursty, parallel, and cost-sensitive in a way human browsing never was. Spinning up a full Chromium per agent task is the most expensive way to fetch a page, and teams running thousands of agent tasks a day feel that bill immediately. Second, web scraping at scale has the same economics: the browser is usually the bottleneck, not the network. Third, the project publishes concrete numbers. Its own benchmark, requesting 933 real web pages on an AWS EC2 m5.large instance, reports peak memory of 123 MB against 2 GB for headless Chrome across 100 pages, and execution time of 5 seconds against 46 seconds — roughly 16 times lighter and 9 times faster. Treat those as project-reported figures, not independent measurements, but the direction is consistent with the architecture: a browser that skips rendering should be dramatically cheaper to run.
From Our Experience: Where It Fits and Where It Does Not
At MTD Technologies we build automation, scraping pipelines, and AI integration and automation systems for clients, so we evaluate tools like this against a simple question: what breaks first in production? With Lightpanda, the honest answer is compatibility. Web Platform Tests results are published openly and show a work in progress: the core features listed above are implemented, but a from-scratch browser will not match Chromium’s coverage of the modern web platform edge cases — unusual JavaScript APIs, complex single-page applications, Canvas and WebGL content, and sites that fingerprint browsers. If your target sites are modern, JavaScript-heavy applications with anti-bot defences, expect a testing phase where some pages fail in ways Chrome would not.
That makes it a specialist tool with a clear sweet spot: high-volume fetching and extraction, agent research, structured-data collection, and internal automation where you can fall back to Chromium for awkward pages. If a crawl that needed ten Chromium machines now needs one, the savings pay for the compatibility testing many times over. The right move is a hybrid fleet, not a wholesale rip-and-replace.
Three practical gotchas are worth knowing first. Distribution is currently nightly builds — Homebrew, Arch, Nix, Docker, and direct downloads — rather than stable releases, so pin a known nightly and test upgrades deliberately. There is no native Windows binary; Windows teams run it inside WSL2. Linux binaries need glibc 2.35 or newer on x86_64 and 2.38 on arm64, so Alpine-style images fail unless you pick a glibc-based base image such as Ubuntu 24.04. And usage telemetry is on by default — disable it with LIGHTPANDA_DISABLE_TELEMETRY in any corporate deployment.

A Responsible-Use Note
A faster, cheaper browser lowers the cost of scraping for everyone, including people who ignore robots.txt and hammer other people’s servers. Lightpanda ships an option to obey robots.txt — use it, respect rate limits, identify your crawler honestly, and never use automation to bypass paywalls, access controls, or terms of service. An agent that submits forms or moves money on your behalf needs explicit confirmation first. Speed is not an excuse to skip consent.
Getting Started With Lightpanda
- Install a nightly build. On macOS, run
brew install lightpanda-io/browser/lightpanda. On Linux, download the nightly binary for your architecture, make it executable, and run./lightpanda versionto confirm it works. Docker users can rundocker run -d --name lightpanda -p 127.0.0.1:9222:9222 lightpanda/browser:latest. - Fetch your first page. Try
./lightpanda fetch --obey-robots --dump markdown https://example.comand compare the output with what your current scraper returns. The--dump structured_dataoption is the quickest way to see whether a target site’s JSON-LD is usable. - Connect your existing tooling. Start the CDP server with
./lightpanda serve --host 127.0.0.1 --port 9222, then point a Puppeteer script at it viabrowserWSEndpoint: "ws://127.0.0.1:9222"and run your existing extraction code unchanged. - Benchmark on your own pages. Run your real target URLs through both Lightpanda and headless Chrome, and measure memory, time, and extraction success rate side by side. Project benchmarks are a starting point, not a substitute for your own numbers.
- Prototype an agent task, then replay it. Use
./lightpanda agent --task "your task here"to explore a workflow conversationally, save the session, and replay the exported PandaScript in production without a model at runtime. - Decide the fleet mix. Route bulk extraction through Lightpanda, keep Chromium for pages that fail compatibility checks, and log which URLs fall back so you can revisit them as Lightpanda’s web-platform coverage improves.
If you want help putting a hybrid browser fleet into production — or wiring agent browsing into an existing workflow — our team builds these systems every week. Browse the AI Tools Directory for related tools we track, explore our n8n workflow automation services, or talk to us about your automation workload.
Frequently Asked Questions
Is Lightpanda a replacement for headless Chrome?
Not yet, and not for every workload. It is a strong replacement for high-volume fetching, extraction, and agent browsing, where its memory and speed advantages are largest. For pixel-perfect screenshots, visual testing, and complex web applications that depend on the full Chromium platform, keep Chrome in the fleet and use Lightpanda where it passes your compatibility tests.
How much cheaper is Lightpanda than headless Chrome?
The project’s own benchmark on 933 real pages reports about 16 times less peak memory (123 MB versus 2 GB for 100 pages) and about 9 times faster execution (5 seconds versus 46 seconds). Your savings depend on your pages and concurrency, so benchmark on your own targets before projecting costs.
Does Lightpanda work with Puppeteer and Playwright?
It exposes a CDP server that Puppeteer can connect to via a browser WebSocket endpoint, and it supports WebDriver BiDi as well. Existing extraction scripts usually run with minimal changes, but test each script, since some CDP features may behave differently from Chromium.
What licence is Lightpanda released under?
Lightpanda is released under the AGPL-3.0 licence. You can use and modify it freely, but running a modified version as a network service triggers the obligation to share the source under the same terms, so check with counsel before building a hosted product on it.
Can Lightpanda run on Windows?
There is no native Windows binary. Windows users run it inside WSL2, with the automation client either inside WSL or on the Windows host connecting to the forwarded localhost port.
Lightpanda is one of the most interesting open-source infrastructure projects of the year, not because it promises to replace Chromium, but because it refuses to. By building a browser for automation instead of for humans, it turns the browser from the most expensive part of a pipeline into one of the cheapest. Test it on your own pages, keep Chromium for the edge cases, and you may find your automation bill — and your agent latency — dropping sharply. If you would like help evaluating it against your workload, get in touch with MTD Technologies and we will run the comparison with you.