Ladybird: An Independent Web Browser Engine
Ladybird is a web browser being built from scratch around its own rendering and JavaScript engines, not a fork of Chromium, Gecko, or WebKit. The project's own README calls it pre-alpha and says it's 'only suitable for use by developers' right now. Dig into it if you want to watch — or help build — an independent browser engine take shape; skip it if you just need something to browse the web with today.
What is Ladybird?
Ladybird is an independent, from-scratch web browser built on its own rendering and JavaScript engines rather than Chromium, Gecko, or WebKit. It runs a multi-process architecture — a main UI process, one or more WebContent renderer processes, a separate ImageDecoder process, and a RequestServer process — with image decoding and networking done out of process, and each tab's renderer sandboxed from the rest of the system.
Core Architecture and Components
- ✓Multi-process design: a main UI process coordinates separate WebContent renderer processes (one per tab), an ImageDecoder process, and a RequestServer process, per the README.
- ✓Sandboxed tabs: each tab runs its own WebContent renderer process, isolated from the rest of the system.
- ✓Out-of-process image decoding and networking — isolating decoders and network handling from the main process specifically to contain damage from malicious content, per the README.
- ✓LibWeb handles web rendering and LibJS handles JavaScript — both built in-house rather than embedding an existing engine.
- ✓LibWasm provides WebAssembly support, and LibCrypto/LibTLS handle cryptography primitives and TLS.
- ✓LibHTTP is a homegrown HTTP/1.1 client, and LibGfx covers 2D graphics, image decoding, and rendering.
- ✓LibUnicode handles Unicode and locale support, LibMedia handles audio and video playback, LibCore provides the event loop and OS abstraction layer, and LibIPC handles inter-process communication.
Building and Running Ladybird
The README points to a dedicated build-instructions document (Documentation/BuildInstructionsLadybird.md) rather than listing commands inline, so exact build steps aren't part of the facts available here — treat that document as the source of truth. What the README does confirm: Ladybird runs on Linux, macOS, Windows (via WSL2), and 'many other *Nixes.' Code-related documentation lives in the Documentation/ folder, and the project runs a Discord server for build and development discussion if you get stuck.
Strengths
- ✓A genuinely independent engine — LibWeb and LibJS are built in-house instead of wrapping Chromium, Gecko, or WebKit, per the README.
- ✓A security-conscious process model: image decoding and network requests run out of process specifically to reduce exposure to malicious content, and each tab's renderer is sandboxed.
- ✓Cross-platform reach for a from-scratch engine: the README lists Linux, macOS, Windows (via WSL2), and other *Nixes as supported.
- ✓A permissive BSD-2-Clause license with no proprietary strings attached.
- ✓Documented community channels — a Discord server plus a written contribution and issue-reporting process — for a project this early.
Current Development Status
- △The README states that Ladybird, which is in a pre-alpha state, is 'only suitable for use by developers' — not a browser to install for everyday browsing yet.
- △No version number, release date, or roadmap timeline appears in the README, so there's no documented estimate of when it might leave pre-alpha.
- △Core components — LibWeb, LibJS, LibWasm, LibCrypto/LibTLS, LibHTTP, LibGfx, LibUnicode, LibMedia, LibCore, LibIPC — are described as 'inherited from SerenityOS' and flagged 'at the moment,' implying they're still being adapted rather than finished, purpose-built pieces of Ladybird.
- △Windows support runs through WSL2 rather than natively, per the README.
- △Install and day-to-day usage aren't documented in the README itself — it defers to a separate build-instructions file rather than describing what running the built browser is like.
Other Web Browsers
Common Questions About Ladybird
Ladybird is in a pre-alpha state today. The project's own README says it's 'only suitable for use by developers' right now, not for everyday browsing.
Ladybird runs on Linux, macOS, and Windows (via WSL2), plus 'many other *Nixes,' according to the README.
Ladybird is licensed under the 2-clause BSD license, listed on GitHub as BSD-2-Clause.
Ladybird's engine is built from components including LibWeb for web rendering, LibJS for JavaScript, LibWasm for WebAssembly, LibCrypto/LibTLS for cryptography and TLS, LibHTTP for HTTP/1.1, LibGfx for 2D graphics and image decoding, plus LibUnicode, LibMedia, LibCore, and LibIPC.
Not yet. Ladybird's README explicitly states the project is pre-alpha and only suitable for developers, so it isn't positioned as a daily-driver browser at this stage.
Ladybird's README points contributors to Documentation/GettingStartedContributing.md, its issue policy and guidelines in CONTRIBUTING.md and ISSUES.md, and a Discord server for development discussion.
The problem it solves
Nearly every mainstream browser today renders pages through an engine that traces back to one of three lineages — Chromium/Blink, Gecko, or WebKit — so a bug or design choice in any of those ripples across most of the web. Ladybird's README frames its own reason for existing around that gap: it's building 'a novel engine based on web standards' from scratch, independent of all three, instead of wrapping or forking an existing one.
Best use cases
- •Following or contributing to a web browser engine being built from scratch, since the README frames Ladybird as independent of Chromium, Gecko, and WebKit.
- •Studying a real multi-process browser architecture — separate UI, renderer, image-decoder, and request-server processes — as a reference for how sandboxing is structured.
- •Poking at early LibWeb/LibJS/LibWasm behavior against web standards as a developer, given the README's own line that Ladybird is 'only suitable for use by developers' right now.
- •Joining the project's Discord to follow issue and development discussions if you want visibility into how an independent engine gets built.
Who should try it — and who should skip
Try Ladybird if you're a developer who wants to build, debug, or just watch an independent browser engine come together — the multi-process, sandboxed architecture and homegrown LibWeb/LibJS stack are the draw. Skip it if you need a browser for actual daily use: the README calls the project pre-alpha and 'only suitable for use by developers,' so treat it as something to follow or contribute to, not a replacement for your current browser yet.
