Rust · WebAssembly · Canvas 2D

Pixel-faithful Office documents,
rendered in the browser.

@silurus/ooxml parses .docx, .xlsx and .pptx with a Rust/WASM engine and paints them to a Canvas — no server, no native apps, no iframe. The most faithful Office Open XML rendering on the web.

@silurus/ooxml
🦀

Rust-grade parsing

Each format's parser is written in Rust and compiled to WebAssembly — fast, memory-safe, and faithful to ECMA-376 / ISO-29500.

🎨

Canvas, not the DOM

Rendered with the Canvas 2D API on the main thread, sharing the document's font set — so text metrics, wrapping, and page breaks match the original document.

📐

Spec-faithful, not guessed

docGrid snapping, line-spacing rules, theme colour modifiers, chart axis styling — implemented from the spec, never from per-sample heuristics.

🧩

Headless or batteries-included

Use the built-in viewers, or drive the headless engine into your own scroll views, thumbnail grids, and master–detail panes.

Live in this page

Not a screenshot — the real renderer.

Each tab below is the actual library running a real document in your browser right now — Rust/WASM parse, Canvas paint. Switch formats, step through pages, scroll the sheet.

sample-1.docx live · WASM

Go deeper — live demos and the code behind them, per format: DOCX · XLSX · PPTX

What it renders

Deep format coverage.

A curated slice of what each format supports. The full, exhaustive matrix lives in the README.

DOCX
  • Headers / footers, section breaks
  • Tables — borders, fills, merges
  • Images, inline & anchored with text wrap
  • Ruby / furigana, sub/superscript
  • Line grid (docGrid), spacing rules
  • Lists, paragraph & table styles
  • Track changes, footnote markers
  • Native text selection & copy
DOCX demos & code →
XLSX
  • Multiple sheets, tab colours
  • Formulas (cached), dates, number formats
  • Charts — bar, line, area, radar, scatter
  • Sparklines, conditional formatting
  • Merged cells, frozen panes
  • Borders incl. diagonal, pattern fills
  • Selection, TSV copy, zoom slider
  • Images, drawing shapes, slicers
XLSX demos & code →
PPTX
  • Layout / master inheritance
  • Backgrounds — solid, gradient, image
  • Preset & custom geometry shapes
  • Charts with axis & label styling
  • Math equations (OMML, STIX Two Math)
  • SmartArt text, grouped transforms
  • Gradient / image fills, theme colours
  • Native text selection
PPTX demos & code →