This is an early release preview. You may encounter bugs.
Lightpanda Browser logo
Unclaimed

Tool interface research

Lightpanda Browser

The headless browser built from scratch for AI agents and automation. Not a Chromium fork. Not a WebKit patch. A new browser, written in Zig.

A+ 90/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
No votes yet

01 / About

What Lightpanda Browser is.

Lightpanda is a headless browser written from scratch in Zig for AI agents, crawlers, and automation. It is not a Chromium fork or a WebKit patch: it assembles its own stack from libcurl for HTTP, html5ever for parsing, and V8 for JavaScript, and implements the DOM and web APIs on top. Because it never renders pixels, it runs on a much smaller footprint than a full browser.

Published benchmarks request 933 real web pages on an AWS EC2 m5.large instance, with reproduction details in a separate demo repository:

Metric Lightpanda Headless Chrome
Memory, peak over 100 pages 123 MB 2 GB
Execution time, 100 pages 5s 46s

There are three ways to drive it. lightpanda fetch dumps a URL as HTML, Markdown, PNG, or PDF, with wait conditions to control timing. lightpanda serve starts a Chrome DevTools Protocol server, so an existing Puppeteer or Playwright script can point its WebSocket endpoint at Lightpanda instead. lightpanda agent drives the browser from plain-language instructions or slash commands, navigating, clicking, filling forms, and extracting structured data in the same process as the browser; a session can be exported as PandaScript, plain JavaScript with native browser primitives that replays deterministically with no model at runtime.

Agent mode reads a key from the environment and supports Anthropic, OpenAI, Gemini, Google Vertex AI, Mistral, Hugging Face, the Vercel AI Gateway, any OpenAI-compatible endpoint through OPENAIBASEURL, and local models through Ollama or llama.cpp; --no-llm drops into a plain REPL. A native MCP server speaks JSON-RPC over stdio, or over HTTP when given a port, where each connection is routed to its own browsing session with its own page, cookies, and memory, and session tools create, list, and close them explicitly. The project is in beta, web-API coverage is partial, and --obey-robots makes it respect robots.txt.

Features

  • Purpose-built engine: libcurl, html5ever, and V8 assembled into a headless-only browser rather than a patched desktop one
  • CDP server: existing Puppeteer and Playwright scripts connect by pointing their WebSocket endpoint at Lightpanda
  • Dump modes: a page can be written out as HTML, Markdown, PNG, or PDF, with wait-until, wait-ms, wait-selector, and wait-script controls
  • Agent mode: plain-language browser control in the same process as the browser, with slash commands
  • PandaScript export: a session is saved as deterministic JavaScript and replayed later without a model
  • MCP server: JSON-RPC over stdio or HTTP, with per-connection browsing sessions that can be isolated or deliberately shared
  • Provider choice: hosted providers, gateways, any OpenAI-compatible endpoint, local models, or no model at all
  • Automation basics: clicks, form input, cookies, custom headers, proxy support, network interception, XHR, and Fetch
  • Crawler etiquette: --obey-robots honours robots.txt

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

03 / Build

Build with Lightpanda Browser.

Browse the catalogue for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Lightpanda Browser →

Browse the catalogue