Exploring the new `servo` crate

Simon Willison's Blog Tools

Summary

The Servo browser engine is now available as an embeddable Rust crate (v0.1.0), enabling developers to integrate web rendering capabilities into Rust applications. A new CLI tool `servo-shot` demonstrates its capability to render web pages to PNG using a software-based rendering pipeline.

No content available
Original Article
View Cached Full Text

Cached at: 04/20/26, 08:28 AM

# Research: Exploring the new `servo` crate Source: https://simonwillison.net/2026/Apr/13/servo-crate-exploration/ Exploring the new `servo` crate (https://github.com/simonw/research/tree/main/servo-crate-exploration#readme) — After the April 2026 release of the `servo` v0.1.0 crate (blog post), a concise investigation shows that Servo is now an embeddable browser engine for Rust, with a clear API centered on the `ServoBuilder`, `WebView`, and pixel readback methods. A headless CLI (`servo-shot`) successfully renders URLs or HTML files to PNG, building against stable Rust with a robust software-based rendering pipeline. Servo is now available on crates.io (https://servo.org/blog/2026/04/13/servo-0.1.0-release/) — the Servo team announced the initial release of the `servo` (https://crates.io/crates/servo) crate, which packages their browser engine as an embeddable library. I set Claude Code for the task (https://github.com/simonw/research/pull/108) of figuring out what it can do, building a CLI tool for taking screenshots using it and working out if it could be compiled to WebAssembly. The `servo-shot` Rust tool it built works pretty well: `` git clone https://github.com/simonw/research cd research/servo-crate-exploration/servo-shot cargo build ./target/debug/servo-shot https://news.ycombinator.com/ `` Here's the result: An accurately rendered screenshot of the Hacker News homepage Compiling Servo itself to WebAssembly is not feasible due to its heavy use of threads and dependencies like SpiderMonkey, but Claude did build me this playground page (https://simonw.github.io/research/servo-crate-exploration/html5ever-wasm-demo/www/) for trying out a WebAssembly build of the `html5ever` and `markup5ever_rcdom` crates, providing a tool for turning fragments of HTML into a parse tree.

Similar Articles