Use Starling's headless mode to capture PNG screenshots of any URL or local HTML file from the command line for automated testing or visual regression checks.
Study how each major browser component is built in a managed language by reading the HTML parser, layout engine, and JavaScript interpreter source code.
Run real websites through Starling to find rendering differences and contribute patches that improve its JavaScript compatibility test pass rate.
Requires the .NET SDK and a free community license for the ImageSharp graphics library before building.
Starling is a web browser engine built entirely from scratch in .NET (C#), without reusing any code from Chromium, Firefox, or Safari. The project exists to test whether a browser can be written in a managed language (one that handles memory automatically, like C# or Java) rather than a lower-level language like C++ or Rust, which is the conventional approach for browser projects. The README describes this as an open question the author wanted to answer by actually building it. The engine covers the major components a browser needs: it can parse HTML, build a document structure (called a DOM), apply CSS styles, compute page layout, and paint the result to the screen. Networking is also handled natively, including encrypted HTTPS connections, compressed responses, and cookies. A JavaScript engine is included and currently passes roughly 81% of a standard compatibility test suite, with an alternative JS engine available for higher compatibility when needed. Real websites that rely on JavaScript frameworks can render end-to-end, as shown in the README screenshot of a live site. The desktop interface is built with Avalonia, a cross-platform UI toolkit that works on Windows, Mac, and Linux. It includes browser controls, developer tools panels, and tabs. A headless mode is also available, which lets you point the engine at any URL or local HTML file from the command line and get a PNG image back without opening a window. This makes it useful for automated testing or screenshot generation. The longer-term motivation behind the project is to make WebAssembly a first-class part of the browser rather than something that runs as a guest behind a JavaScript bridge. The author treats earning parity on real websites as the prerequisite before pursuing that goal. Building requires the .NET SDK and a free community license from a third-party graphics library called ImageSharp that the paint system uses. The project is under a BSD 2-Clause license.
← codymullins on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.