Work · Open source · OSS/05 / since 2023

ironpress: PDF without a browser

Converting HTML, CSS and Markdown to PDF with no browser, no subprocess, no system dependency: a complete layout engine written in pure Rust, embeddable from server to WASM. The project is public, measured and documented, down to parity reports against reference engines.

The context

Generating a PDF almost always means embedding a browser: heavy, slow, hard to audit, impossible in some constrained environments. Yet the need is everywhere (invoices, reports, letters) and deserves better than a Chromium hidden in a container.

The work

Design of ironpress: a complete layout engine in pure Rust that converts HTML, CSS and Markdown to PDF with no browser, no subprocess, no system dependency. C, C++ and WASM bindings, an online playground, and public parity reports against reference engines: quality is measured, not asserted.

What remains

690 GitHub stars, distribution on crates.io, users from the server to the browser. And a principle we apply everywhere: a critical component must be auditable line by line and reproducible byte by byte.

  • 690 GitHub stars, distributed on crates.io
  • C, C++ and WASM bindings, online playground
  • Public parity reports against reference engines
  • Zero system dependencies: auditable and reproducible
GitHub ↗