servo

    servo/servo

    Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.

    backend
    browser
    rust
    servo
    web
    webbrowser
    webengine
    webplatform
    Rust
    MPL-2.0
    35.9K stars
    3.5K forks
    35.9K watching
    Updated 3/11/2026
    View on GitHub
    Backblaze Advertisement

    Loading star history...

    Health Score

    75

    Weekly Growth

    +54

    +0.1% this week

    Contributors

    1

    Total contributors

    Open Issues

    3.1K

    Generated Insights

    About servo

    The Servo Parallel Browser Engine Project

    Servo is a prototype web browser engine written in the Rust language. It is currently developed on 64-bit macOS, 64-bit Linux, 64-bit Windows, 64-bit OpenHarmony, and Android.

    Servo welcomes contribution from everyone. Check out:

    Coordination of Servo development happens:

    Getting started

    For more detailed build instructions, see the Servo book under Setting up your environment, Building Servo, Building for Android and Building for OpenHarmony.

    macOS

    • Download and install Xcode and brew.
    • Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
    • Install rustup: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • Restart your shell to make sure cargo is available
    • Install the other dependencies: ./mach bootstrap
    • Build servoshell: ./mach build

    Linux

    • Install curl:
      • Arch: sudo pacman -S --needed curl
      • Debian, Ubuntu: sudo apt install curl
      • Fedora: sudo dnf install curl
      • Gentoo: sudo emerge net-misc/curl
    • Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
    • Install rustup: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • Restart your shell to make sure cargo is available
    • Install the other dependencies: ./mach bootstrap
    • Build servoshell: ./mach build

    Windows

    • Download uv, choco, and rustup
      • Be sure to select Quick install via the Visual Studio Community installer
    • In the Visual Studio Installer, ensure the following components are installed:
      • Windows 10/11 SDK (anything >= 10.0.19041.0) (Microsoft.VisualStudio.Component.Windows{10, 11}SDK.{>=19041})
      • MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) (Microsoft.VisualStudio.Component.VC.Tools.x86.x64)
      • C++ ATL for latest v143 build tools (x86 & x64) (Microsoft.VisualStudio.Component.VC.ATL)
      • C++ MFC for latest v143 build tools (x86 & x64) (Microsoft.VisualStudio.Component.VC.ATLMFC)
    • Restart your shell to make sure cargo is available
    • Install the other dependencies: .\mach bootstrap
    • Build servoshell: .\mach build

    Android

    • Ensure that the following environment variables are set:
      • ANDROID_SDK_ROOT
      • ANDROID_NDK_ROOT: $ANDROID_SDK_ROOT/ndk/26.2.11394342/ ANDROID_SDK_ROOT can be any directory (such as ~/android-sdk). All of the Android build dependencies will be installed there.
    • Install the latest version of the Android command-line tools to $ANDROID_SDK_ROOT/cmdline-tools/latest.
    • Run the following command to install the necessary components:
      sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install \
       "build-tools;34.0.0" \
       "emulator" \
       "ndk;26.2.11394342" \
       "platform-tools" \
       "platforms;android-33" \
       "system-images;android-33;google_apis;x86_64"
      
    • Follow the instructions above for the platform you are building on

    OpenHarmony

    • Follow the instructions above for the platform you are building on to prepare the environment.
    • Depending on the target distribution (e.g. HarmonyOS NEXT vs pure OpenHarmony) the build configuration will differ slightly.
    • Ensure that the following environment variables are set
      • DEVECO_SDK_HOME (Required when targeting HarmonyOS NEXT)
      • OHOS_BASE_SDK_HOME (Required when targeting OpenHarmony)
      • OHOS_SDK_NATIVE (e.g. ${DEVECO_SDK_HOME}/default/openharmony/native or ${OHOS_BASE_SDK_HOME}/${API_VERSION}/native)
      • SERVO_OHOS_SIGNING_CONFIG: Path to json file containing a valid signing configuration for the demo app.
    • Review the detailed instructions at Building for OpenHarmony.
    • The target distribution can be modified by passing --flavor=<default|harmonyos> to mach <build|package|install>.

    Discover Repositories

    Search across tracked repositories by name or description