A 16.9 MB checkout omits a graphical engine
Our checkout occupied 16.9 MB, and Lightpanda has no graphical rendering engine. That choice explains both its appeal and its limits. It can load JavaScript pages, expose the DOM, click elements, fill forms, manage cookies, and speak CDP or WebDriver BiDi. It can dump HTML and Markdown directly. PNG and PDF output is text-only, so this is a browser for machines that need page structure and actions, not a substitute for the pixels a user sees.
The native agent adds a second route. You can describe a task, save the session as PandaScript, and replay that JavaScript later without paying for a model on every run. Its MCP server uses JSON-RPC 2.0 over stdio or HTTP, with separate session IDs for isolated browsing contexts. Hosted model providers need their usual credentials, while Ollama, llama.cpp, and the basic no-LLM REPL provide local paths.
What happened when we ran it
We measured a 13-second install of 120 packages for commit 4c748cb in our fresh Debian sandbox. It had 3 CPUs, 12 GB of RAM, no secrets, and no elevated privileges. The build succeeded in 90 seconds. The checkout contained 1,211 files, while our scanner counted about 5,875 lines of source. The measured ecosystem was Rust, with the project under ./src/rust/.
Cargo test then finished in 5 seconds with 8 tests passed and 0 failed. That is a clean result, but it is a small one for software that stands in for a browser. Our harness did not measure page-load speed, memory use, CDP coverage, or Web Platform Test conformance. The checkout had 10 CI workflow files, no Dockerfile, and no tests directory. Inline or colocated Rust tests can still run without that directory, as the 8 passing cases show.
Binary setup is simple, while source setup spans Zig and Rust
The shortest route is a nightly binary, Homebrew, AUR, or the official container listening on port 9222. Building the current tree asks for Zig 0.15.2, Rust, V8, Libcurl, xz, pkg-config, Clang, Make, Git, and GLib development headers on Debian or Ubuntu. Our 90-second build proves the pinned commit worked in the lab image. It does not make the source toolchain a one-command install on an arbitrary workstation.
Platform details can decide the trial before code does. The Linux binaries require glibc, so Alpine users need a compatible base image or a source build. There is no native Windows binary, though WSL2 can host the Linux build and forward localhost. Android has no native build either. Official amd64 and arm64 images cover common servers, but our 1,211-file checkout did not include a Dockerfile for rebuilding that image.
A 99-item queue includes a Playwright compatibility break
GitHub showed 99 combined open issues and pull requests, including issue 3832 about a Playwright timeout. The report says page.setContent() can stall because document.open() and document.close() leave the page loading without firing the expected events. It includes a Chrome comparison and a traced code path. CDP clients can connect, but successful access to port 9222 does not prove the page lifecycle matches Chrome.
The README lists Fetch, XHR, cookies, proxy support, network interception, forms, and an ad blocker. The project also publishes daily Web Platform Test results. GitHub still showed 70 open issues inside that 99-item combined queue on October 7, 2026. Those numbers belong next to the feature list: this is an actively built browser with real surface area still being corrected, not Chromium behavior in a smaller package.
Eight passing tests support extraction trials, not visual regression
Our 8 passing Cargo tests support a trial for crawlers that want links, rendered DOM content, or Markdown. The fetch command can wait for a selector or script before dumping output, and serve lets several automation clients use the browser remotely. The --obey-robots option is explicit rather than automatic, so operators must choose it. Custom headers, proxies, and request interception cover many collection jobs without adding a separate wrapper.
Visual regression is outside the design. The README calls PNG and PDF dumps text-only and says there is no graphical rendering engine. That rules out judging CSS layout, font rendering, canvas output, and screenshot fidelity from those files. A sensible split is Lightpanda for high-volume extraction and a mainstream browser for the smaller set of pages where pixels or exact browser behavior decide whether the job passed.
Network fingerprints and policy need a trial of their own
Open issue 3804 reports Akamai-protected pages returning Access Denied from datacenter IPs after a TLS ClientHello change in 1.0.0, while some Cloudflare behavior improved. That is one issue report, not our lab result, but it names repeatable targets and compares versions. Teams scraping protected sites should replay their own URL set from their own network before moving traffic. A browser can parse a page only after the edge agrees to serve it.
Lightpanda uses AGPL-3.0, and usage telemetry is enabled by default unless you set LIGHTPANDA_DISABLE_TELEMETRY=true. The repository was pushed on October 7, 2026, the same day several Web API issues and fixes were opened or updated, so maintenance is plainly active. The decision is still workload-specific: the 8 passing tests support a trial, while your target pages, license policy, and need for pixels decide whether it gets the job.

