Ladybird web browser builds

Ladybird web browser icon

Ladybird is a brand-new browser & web engine. Driven by a web standards first approach, Ladybird aims to render the modern web with good performance, stability and security.

From its humble beginnings as an HTML viewer for the SerenityOS hobby operating system project, Ladybird has since grown into a cross-platform browser supporting Linux, macOS, and other Unix-like systems.

Ladybird is currently in heavy development. We are targeting a first Alpha release for early adopters in 2026. source

This is the place where I keep my Ladybird macOS builds for people who want to test the web browser and cannot compile it themselves. Keep in mind that those are not official builds (there are no official binary builds at the moment) and I am in no way associated with Ladybird and its developers. I just build. Build build build. Buildbot they call me.

Downloads

 DateArchitectureOSDownload
newestSeptember 17, 2025arm64macOS 15.5 “Sequoia”ZIP archive, 70MB
September 7, 2025arm64macOS 15.5 “Sequoia”ZIP archive, 70MB
August 30, 2025arm64macOS 15.5 “Sequoia”ZIP archive, 69MB
August 22, 2025arm64macOS 15.5 “Sequoia”ZIP archive, 69MB

Building

Build instructions for Ladybird can be found here, if you want to replicate the builds. From what I’ve seen so far, the minimum macOS requirement is macOS 12 “Monterey”.

Install prerequisites:

$ brew install autoconf autoconf-archive automake ccache cmake nasm ninja pkg-config llvm@20

Clone the repository, change into the new directory and compile the source code:

$ git clone https://github.com/LadybirdBrowser/ladybird.git
$ cd ladybird
$ CC=$(brew --prefix llvm)/bin/clang CXX=$(brew --prefix llvm)/bin/clang++ ./Meta/ladybird.py run

You can use ./Meta/ladybird.py build instead of ./Meta/ladybird.py run, but actually launching it makes sure the build went ok.

$ CC=$(brew --prefix llvm)/bin/clang CXX=$(brew --prefix llvm)/bin/clang++ ./Meta/ladybird.py build

When compiling finishes (about 13 minutes on a MacBook Pro M1) and the application launches, close it, make a copy of the resulting .app (in ~/Downloads, adjust the paths below if you want the application in another directory) and copy the required libraries into the main application:

$ cp -R Build/release/bin/Ladybird.app ~/Downloads/
$ rm -rf ~/Downloads/Ladybird.app/Contents/lib
$ cp -R Build/release/vcpkg_installed/arm64-osx-dynamic/lib ~/Downloads/Ladybird.app/Contents/
$ cp -R Build/release/lib/* ~/Downloads/Ladybird.app/Contents/lib/

Relink binaries to the new library path:

$ install_name_tool -add_rpath @executable_path/../lib/ ~/Downloads/Ladybird.app/Contents/MacOS/Ladybird
$ install_name_tool -add_rpath @executable_path/../lib/ ~/Downloads/Ladybird.app/Contents/MacOS/RequestServer
$ install_name_tool -add_rpath @executable_path/../lib/ ~/Downloads/Ladybird.app/Contents/MacOS/WebContent
$ install_name_tool -add_rpath @executable_path/../lib/ ~/Downloads/Ladybird.app/Contents/MacOS/WebWorker
$ install_name_tool -add_rpath @executable_path/../lib/ ~/Downloads/Ladybird.app/Contents/MacOS/WebDriver
$ install_name_tool -add_rpath @executable_path/../lib/ ~/Downloads/Ladybird.app/Contents/MacOS/ImageDecoder

Done, now you can archive the ~/Downloads/Ladybird.app package or move it into /Applications.

sizeof.cat on Ladybird web browser