0 m · surface

A browser engine, built from scratch.

Gosub is a modular web browser engine written in Rust. Developers can plug in their own components like a JavaScript engine, the rendering pipeline, the networking stack, etc, without any single company setting the agenda for the web.

Scroll to descend ▾

20 m · periscope depth

A new web engine, written from scratch

Gosub is not a shell around an existing engine. It is a modular system in which every part - parsing, styling, scripting, rendering - is designed to be replaced, extended, or recombined. We hope this leads to a more diverse landscape of browsers without a single engine or browser dominating the market.

Choose your JavaScript engine

The scripting layer is pluggable by design. Run V8 today, swap in a different engine tomorrow. The choice belongs to the developer, not the vendor.

Customize the rendering pipeline

Build your own rendering pipeline on top of the engine's core, and tailor how content is laid out, painted, and composited.

Components that fit together

Each component has a clear boundary and a clear job, so you can take what you need and leave the rest.

200 m · twilight zone

Where the project stands

Gosub is in active early-stage development. We are building the core components of the engine like a CSS system, the rendering pipeline, and JavaScript integrations, while shaping an architecture that is as modular as possible.

HTML5 parser

Working

Parses almost all HTML5 documents correctly and passes nearly the entire html5lib test suite. The current processing speed is almost at par with the more mature parsers available today.

CSS3 parser

Workable

Already parses a large amount of real-world CSS, with a value-syntax parser for validation. A new and better CSS system is currently in development, but for now we have a minimal but workable system.

JavaScript engine

Early stage

Initial V8 integration behind a pluggable interface, including a basic console API.

Network stack

Usable

Our network stack is capable of handling many connections and deals with premature cancellations, multiplexing, priorities, streaming and much more.

Full project status

1 000 m · midnight zone

Why go this deep?

Most browsers today are built on the same engine, concentrated in the hands of two companies with enormous influence over how the web evolves. We already see the downsides of this happening: anti-privacy functionality is implemented without a voice to fight back against.

The web should be open and free for everyone to use. That takes more than one engine.

Building a browser engine demands expertise across many domains. No small team can do it alone, which is why Gosub is a community project. Read the full story

4 000 m · the abyss

Join the crew

Gosub is built by a community of volunteers. Whether you write code, documentation, or tests: there is a bunk for you aboard.

- seafloor reached · resurface at ↑ 0 m -