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 ▾
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.
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
WorkingParses 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
WorkableAlready 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 stageInitial V8 integration behind a pluggable interface, including a basic console API.
Network stack
UsableOur network stack is capable of handling many connections and deals with premature cancellations, multiplexing, priorities, streaming and much more.
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
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 -