An entire browser. Inside your browser.
plutonium-recursion is an experimental web browser environment written in C++ and compiled to WebAssembly, designed to run entirely within another web browser.
It is not a browser-themed webpage, an iframe wrapper, or a frontend for the host browser. The project explores the possibility of bringing an independent browser stack into the web through WebAssembly.
A conventional website relies on the browser that hosts it:
Website
↓
Host Browser
↓
Operating System
plutonium-recursion reverses the relationship:
┌──────────────────────────────────────────────┐
│ Host Browser │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ plutonium-recursion │ │
│ │ │ │
│ │ ┌──────────────────────────────┐ │ │
│ │ │ Browser Runtime │ │ │
│ │ │ │ │ │
│ │ │ Rendering │ │ │
│ │ │ Navigation │ │ │
│ │ │ Browser APIs │ │ │
│ │ │ Web Content │ │ │
│ │ │ │ │ │
│ │ └──────────────────────────────┘ │ │
│ │ │ │
│ └──────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────┘
The host browser provides the execution environment. plutonium-recursion provides the browser environment operating within it.
Browser → Browser → Web
plutonium-recursion is designed around the concept of an independent browser runtime rather than a simulated browser interface.
The project aims to provide its own rendering, navigation, and browser functionality within the constraints of the web platform.
The core implementation is written in C++ and compiled to WebAssembly.
This allows the project to execute its native codebase within a browser without requiring a conventional native executable for the web build.
The web version can be launched from a supported modern browser with JavaScript and WebAssembly enabled.
No native installation is required to run the WebAssembly build.
The host browser acts as the execution container rather than the primary browser interface.
The long-term objective is to minimize dependence on the host browser's normal browsing environment while operating within the capabilities and security restrictions of WebAssembly.
One of the project's more experimental possibilities is recursive execution:
Browser
└── plutonium-recursion
└── Browser
└── plutonium-recursion
└── ...
A browser running inside plutonium-recursion could theoretically load another instance of plutonium-recursion, creating successive browser environments.
The project is built around a separation between the host environment and the browser runtime.
┌───────────────────────────────┐
│ Host Browser │
│ │
│ ┌─────────────────────────┐ │
│ │ Web Interface │ │
│ ├─────────────────────────┤ │
│ │ JavaScript Runtime │ │
│ ├─────────────────────────┤ │
│ │ WebAssembly │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ C++ Runtime │ │
│ └─────────────────────────┘ │
└───────────────────────────────┘
The exact architecture is evolving as development continues.
| Technology | Purpose |
|---|---|
| C++ | Core browser implementation |
| WebAssembly | Executes the C++ runtime within the browser |
| HTML | Application structure |
| CSS | User interface |
| JavaScript | WebAssembly integration and browser-side functionality |
The project primarily focuses on bringing native-style browser functionality into a web-compatible execution environment.
- A modern web browser
- JavaScript enabled
- WebAssembly support
- A suitable C++ and WebAssembly toolchain for building from source
git clone https://github.com/Plutonium-Net/plutonium-recursion.git
cd plutonium-recursionBuild the project using the provided build configuration and WebAssembly toolchain.
After building, serve the resulting files through a local web server.
For example:
python3 -m http.serverThen open the local server address in your browser.
Build instructions are currently evolving alongside the project.
plutonium-recursion is experimental and under active development.
The project is not intended to be considered a feature-complete replacement for a conventional desktop browser.
Browser functionality, rendering support, APIs, performance, and compatibility are actively being developed and may change between versions.
The long-term objective is to develop a capable browser environment that can operate entirely within another browser.
Current areas of development include:
- Browser compatibility
- Rendering capabilities
- Navigation
- Web standards support
- Browser APIs
- WebAssembly integration
- Performance
- Stability
- Resource management
- Recursive execution
- Overall browser functionality
The official 2026 development roadmap is available in ROADMAP.md.
Contributions, bug reports, suggestions, and improvements are welcome.
Before contributing, review the project's license and ensure that any third-party code, libraries, or assets introduced into the project retain their applicable attribution and licensing requirements.
Contributors should also ensure that modifications and redistributions comply with the requirements of the project license.
The organization responsible for the development and maintenance of plutonium-recursion.
Original developer and contributor.
Original developer and contributor.
plutonium-recursion is licensed under the Plutonium Recursion License (PRL) v1.0.
The license permits non-commercial use, modification, forking, and redistribution subject to its terms.
Commercial use, selling the software, and incorporating substantial portions of the software into other projects are prohibited by the license.
Redistributions and derivative works must provide appropriate attribution to:
- Plutonium-Net
- xXmizzeryXx
- Craf1ed
Third-party code and assets remain subject to their respective licenses and attribution requirements.
See LICENSE for the complete terms.
plutonium-recursion
An entire browser. Inside your browser.