About

Blitz is an open source web engine written in Rust with a focus on modularity, embeddibilty, and API flexibility. Blitz is currently in alpha. This means that it ready for experimentation and early adoption, but is not ready for production usage. We are aiming to reach a broadly usable beta status by the end of 2025, with a production-ready release sometime in 2026.

For more details on the current status, see the dedicated status page.
For details on planned work, see the roadmap issue

Vision

By taking a modular approach to development with an emphasis on clean module boundaries and sharing code, Blitz aims to:

  1. Power Dioxus Native (and perhaps other UI toolkits) - ...
  2. Enable "alternative" web engine use cases. Including:

    • Rendering ePUB, HTML Email, Markdown and other non-web HTML formats.
      (see the readme app for markdown)
    • Rendering HTML to image (PNG, JPEG, or even SVG)
      (see himg or the screenshot example for examples of rendering to image).
    • Rendering HTML to PDF
    • Embedded “mini html” engines within wider UI toolkits.
    • Clients for alternative content (e.g. a Gopher / Gemini) or alternative scripting environments such as a native HTMX client, or a web client with Python-based scripting.
  3. Provide a new alternative to existing web engines. - In this regard Blitz aims competes with the likes of Servo, Ladybird, and Flow. This is a longer term aim. C
  4. Lower the barrier to entry for creating new browser engines — Traditional browser engines are largely monolithic meaning that if you want to create a new engine you are left with a choice between forking the existing engine or rebuilding most things from scratch. Given how enormous the web specification is, this makes it difficult to bootstrap new independent engines.

    By building on existing general-purpose libraries (making our improvements available to all users) and making core parts of our stack (style, layout, text, etc) available as libraries with supported public APIs, Blitz aims to make it easier to create new engines by enabling new engine creators to combine modular parts of our engine with new modules of their own.

Strategy

Blitz is deliberately focussing on (1) and (2) from above and avoiding trying to build an "entire web browser" at once.

and focussing on two targeted subsets: 1. being an excellent application runtime (for Dioxus Native) and 2. HTML-and-CSS-only rendering. By deferring work on complex features like JavaScript execution, browser-grade network caching and security, and process-isolation we hope to be able to bring Blitz to a useful, production-ready state (for the features it supports) much sooner. And we hope that

Comparison with other projects

Compared to UI toolkits

Compared to browser engines

Relationship to dependencies

Blitz's approach to modularity allows it to take full advantage of existing libraries where appropriate libraries are available which, (due to the flourishing Rust crates ecosystem and the legacy of the Servo project), turns out to be quite a lot of places.