Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ladybirdBrowser/ladybird/llms.txt
Use this file to discover all available pages before exploring further.
Ladybird’s primary supported platforms are Linux and macOS, but it also runs on Windows — via WSL2 or an experimental native Clang-CL build — and on Android using the NDK through Android Studio or Gradle. This page walks through each approach, including known limitations and the specific commands needed to get a working build.
Windows via WSL2
WSL2 (Windows Subsystem for Linux 2) is the officially supported way to build and run Ladybird on Windows. It gives you a full Linux kernel environment inside Windows, so all the standard Linux build instructions apply without modification.WSL1 is known to have issues. If you encounter build or runtime problems, make sure you are using WSL2, not WSL1. Run wsl --list --verbose in PowerShell to check the version of your installed distributions, and upgrade with wsl --set-version <distro> 2 if needed.
MinGW and MSYS2 are not supported. Do not attempt to build Ladybird using MinGW or MSYS2 toolchains — they are explicitly unsupported and the build will fail.
Create a WSL2 environment
Install WSL2 from a PowerShell (Administrator) prompt:Ubuntu and Fedora are the recommended distributions. You can list available distros with: Install Linux prerequisites inside WSL2
Inside your WSL2 shell, follow the Linux build instructions for your chosen distribution. For Ubuntu, the core command is:sudo apt install autoconf autoconf-archive automake build-essential ccache cmake curl \
fonts-liberation2 git glslang-tools libdrm-dev libgl1-mesa-dev libncurses-dev \
libtool nasm ninja-build pkg-config python3-venv qt6-base-dev qt6-tools-dev-tools \
qt6-wayland tar unzip zip
Clone and build
Inside the WSL2 shell, clone the repository and build:git clone https://github.com/LadybirdBrowser/ladybird.git
cd ladybird
./Meta/ladybird.py run
After setup, all further build instructions from the Linux & macOS page apply identically inside your WSL2 environment, including debug builds, UI selection, and running manually. Windows Native Build with Clang-CL
The native Windows (Clang-CL) build is experimental. There are still Windows-specific issues and the functionality is limited compared to the Linux/macOS builds. Expect rough edges.
The native Windows build uses Clang-CL inside a Visual Studio Developer Command Prompt. It does not use MinGW or MSYS2.Install Visual Studio with C++ workload
Install Visual Studio with the Desktop development with C++ workload. Make sure to include the Clang/CL toolset component. Install Chocolatey
pkg-config must be available for the vcpkg dependency installation step. The easiest way to install it on Windows is via Chocolatey.Once Chocolatey is installed, install pkgconfiglite in an elevated PowerShell prompt:choco install pkgconfiglite -y
Open a VS Developer Command Prompt
Open x64 Native Tools Command Prompt for VS (found in the Visual Studio folder in the Start menu). The build script must be run from this environment so that the MSVC toolchain is on the path.
Clone the repository
git clone https://github.com/LadybirdBrowser/ladybird.git
cd ladybird
Build with ladybird.py
py Meta\ladybird.py build
A full native Windows port is not a current priority for the project. The team is focused on building out web-platform standards support on Linux and macOS first. Windows developers who need a more complete experience should use WSL2.
Android Build
Building Ladybird for Android requires a Unix-like host system (Linux or macOS). You cannot build the Android target directly from a Windows host; use WSL2 on Windows.Set up your Unix-like host
Choose your build method
There are two supported paths:Option A — Android Studio (recommended)Follow the Android Studio configuration guide in the Ladybird repository. It walks through installing the Android SDK, NDK, and configuring the IDE to build and deploy the UI/Android Gradle project.Option B — Gradle command lineDownload Gradle 8.0.0 or newer and run the gradlew wrapper script in the UI/Android directory:cd UI/Android
./gradlew assembleDebug
Gradle 8.0.0 or newer is required. Older versions of Gradle are not compatible with the Android build configuration.
Android support in Ladybird uses the native Android UI framework. The browser process architecture on Android mirrors the desktop: a UI process, WebContent processes per tab, an ImageDecoder process, and a RequestServer process.