
웹 스크래핑, AI 에이전트, 자동화 테스트 — 모두 헤드리스 브라우저가 필요하다. 그리고 대부분 Chrome을 쓴다.
문제는 Chrome이 사람을 위해 만들어졌다는 것이다. 클라우드에서 돌리면 비싸고 느리고 무겁다. 수천 개 인스턴스를 띄우면? 더 말할 필요 없다.
Lightpanda는 다른 접근을 택했다. Chromium, Blink, WebKit — 아무것도 쓰지 않고 처음부터 다시 썼다.
왜 새로운 브라우저인가?
예전엔 간단했다
curl https://example.com
HTML이 오면 파싱하면 끝이었다. 하지만 지금은?
- React, Vue, Angular 같은 JS 프레임워크
- 무한 스크롤, “더 보기” 클릭, 인스턴트 서치
- Ajax, SPA, 동적 렌더링
JavaScript 없이는 웹을 읽을 수 없다.
그래서 Chrome을 쓴다. 그런데…
- 무겁다: 수십 년간 축적된 코드, 대부분 헤드리스에 불필요
- 느리다: 시작하는 데 몇 초, 스케일하면 곱절
- 비싸다: RAM과 CPU를 많이 쓴다
- 위험하다: 공유 상태, 쿠키, 세션이 태스크 간에 섞인다
Lightpanda 팀은 이렇게 말한다:
크롬을 기반으로 한 또 다른 변형이 아니라, 진짜 빈 페이지에서 시작해야 한다고. 미친 짓이지? 하지만 우리가 그렇게 했다.
성능: 숫자로 보기

Puppeteer로 로컬 웹사이트 100페이지를 요청한 결과 (AWS EC2 m5.large):
| 메트릭 | Lightpanda | Chrome | 차이 |
|---|---|---|---|
| 실행 시간 | 2.3초 | 25.2초 | 11배 빠름 |
| 메모리 피크 | 24MB | 207MB | 9배 적음 |
즉시 시작한다. Chromium의 부팅 시간이 없다.
핵심 특징
1. Chromium 기반이 아니다
Blink도 WebKit도 아니다. Zig 0.15.2로 처음부터 작성했다.
- 저수준 시스템 프로그래밍 언어
- 성능과 효율성 염두에 둔 설계
- 그래픽 렌더링 오버헤드 없음
2. CDP 호환
Chrome DevTools Protocol(CDP)을 지원한다. 즉:
import puppeteer from 'puppeteer-core';
const browser = await puppeteer.connect({
browserWSEndpoint: "ws://127.0.0.1:9222",
});
const page = await browser.newPage();
await page.goto('https://example.com');
// 나머지는 그대로
Playwright, Puppeteer, chromedp — 기존 코드를 거의 수정 없이 쓸 수 있다.
3. JavaScript 실행
V8 엔진을 통합했다. DOM APIs, XHR, Fetch API를 지원한다.
물론 모든 Web API가 구현된 건 아니다. 브라우저를 만드는 건 거대한 작업이다. 하지만 핵심은 작동한다.
4. 보안과 격리
전통적인 브라우저는 상태를 공유한다. 쿠키, 세션, 로컬 스토리지 — 태스크 간에 섞인다.
Lightpanda는 격리된 환경을 제공한다. 각 태스크는 깨끗한 상태에서 시작한다.
설치와 사용
바이너리 다운로드
# Linux x86_64
curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux
chmod a+x ./lightpanda
# macOS aarch64
curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-aarch64-macos
chmod a+x ./lightpanda
Docker
docker run -d --name lightpanda -p 9222:9222 lightpanda/browser:nightly
직접 fetch
./lightpanda fetch --obey_robots https://example.com
CDP 서버
./lightpanda serve --host 127.0.0.1 --port 9222
그다음 Puppeteer나 Playwright로 연결한다.
구현된 기능
| 기능 | 상태 |
|---|---|
| HTTP 로더 (Libcurl) | ✅ |
| HTML 파서 (html5ever) | ✅ |
| DOM 트리 | ✅ |
| JavaScript (V8) | ✅ |
| DOM APIs | ✅ |
| XHR / Fetch API | ✅ |
| CDP/WebSocket 서버 | ✅ |
| 클릭, 입력 | ✅ |
| 쿠키 | ✅ |
| 프록시 지원 | ✅ |
| robots.txt 준수 | ✅ |
Web API 커버리지는 계속 늘어나고 있다.
언제 쓸까?
대규모 웹 스크래핑
수천, 수백만 페이지를 크롤링할 때 Chrome은 비용이 많이 든다. Lightpanda는 메모리와 CPU를 획기적으로 아껴준다.
AI 에이전트
AI 에이전트가 웹을 탐색해야 할 때, 즉시 시작하고 가볍게 돌아가는 브라우저가 필요하다.
자동화 테스트
CI/CD 파이프라인에서 브라우저 테스트를 돌릴 때, 시작 시간과 리소스가 중요하다.
주의할 점
베타 단계다. 많은 웹사이트가 작동하지만, 아직 에러나 크래시를 만날 수 있다. 문제가 있으면 GitHub 이슈로 보고하자.
Playwright 호환성도 완벽하지 않다. Playwright은 브라우저 기능에 따라 다른 실행 전략을 선택하는데, Lightpanda가 새로운 Web API를 추가하면 예상치 못한 경로로 실행될 수 있다.
마치며: 브라우저의 새로운 패러다임
Lightpanda는 단순한 도구가 아니다. 브라우저를 “사람이 아닌 것”의 관점에서 다시 생각한 결과다.
- 사람을 위한 UI? 없앴다
- 렌더링 파이프라인? 없앴다
- 수십 년의 레거시? 없앴다
대신 남은 건:
- 속도: 11배 빠름
- 효율: 9배 적은 메모리
- 단순함: 즉시 시작
AI 에이전트와 웹 자동화의 시대에, 브라우저도 진화해야 한다. Lightpanda가 그 방향을 보여준다.
🔗 관련 정보
- 웹사이트: https://lightpanda.io
- GitHub: https://github.com/lightpanda-io/browser
- 벤치마크: https://github.com/lightpanda-io/demo
- Docker: https://hub.docker.com/r/lightpanda/browser
- 언어: Zig 0.15.2