@formepdf/html renders HTML + print CSS to PDF through the same Rust/WASM engine that renders JSX components. No headless browser, no Chromium cold start.
The subset — the constitution
This is a deliberately documented subset of HTML/CSS, in the spirit of Satori — but page-native. Everything supported is listed below and tested. Everything outside the subset lands in thewarnings list at render time, named, with a remedy where one exists. Nothing fails silently.
Paged media — the point of the whole thing
Elements
Selectors
Properties
The full property table lives in the package README — margins with CSS margin collapsing, borders (solid/dashed/dotted with Chrome-matched dash metrics),border-collapse emulation, min/max width constraints (the centered-column idiom works), font fallback chains, text-align: justify with real Knuth-Plass distribution, text-transform, letter-spacing, vertical-align on cells, flexbox, and relative/absolute positioning.
Notable exclusions, all warned by name: float, CSS Grid, CSS variables, position: fixed/sticky, transforms, gradients, @font-face fetching (use options.fonts / --font — see the web-fonts migration recipe).
The warnings contract
@font-face family. If a render is silent, the document used only the subset — and what you got is what the subset defines.