Open-source JavaScript Office file viewer Rust / WebAssembly / Canvas 2D

Rust · WebAssembly · Canvas 2D

Office documents,
rendered in the
browser.

@silurus/ooxml is an open-source JavaScript Office file viewer library for .docx, .xlsx and .pptx. Its Rust/WASM engine parses and renders each file to Canvas in the browser; no server-side document conversion, native application or iframe is required.

@silurus/ooxml

About the library

Browser-based OOXML rendering.

Rust/WASM parsers and Canvas renderers for DOCX, XLSX and PPTX, with document APIs and ready-to-use viewers.

Rust/WASM parsers

DOCX, XLSX and PPTX parsing is implemented in Rust and compiled to WebAssembly.

Canvas rendering

Documents are rendered with the Canvas 2D API. Layout and feature support vary by format and document.

Specification-informed

The implementation refers to ECMA-376 / ISO 29500 and related Microsoft documentation where relevant.

Document APIs and viewers

Use built-in viewers or document APIs for custom previews, thumbnails and navigation.

Live in this page

Live renderer examples.

Switch formats, navigate pages or slides, and scroll the sheet.

sample-1.docx live · WASM

Format documentation: DOCX · XLSX · PPTX

What it renders

Format support at a glance.

Selected supported features for each format are listed below. See the README for the full matrix; complex documents may still differ from Office.

DOCX.docx
  • Paginated layout with headers, footers & sections
  • Complex tables with borders, fills & merged cells
  • Adaptive large-image display, optional TIFF decoding and DrawingML shapes with image fills
  • CJK typography: ruby, vertical writing & line grids
  • Math equations, classic charts and optional ChartEx / 3-D / Region Map rendering
  • Tracked-change markup, text / element context, progressive virtualized scroll, zoom, find & links
Full support matrix ↗︎
XLSX.xlsx
  • Multi-sheet workbooks with frozen panes & outlines
  • Cached formulas, dates and Excel number formats
  • Classic charts, optional ChartEx / 3-D / Region Maps, sparklines and conditional formatting
  • Adaptive large-image display, optional TIFF decoding, drawing shapes and styled slicers
  • Pivot metadata, comments and CJK cell text
  • Multiple-area selection, range / element context, TSV copy, find, internal links, zoom & drag-resize
Full support matrix ↗︎
PPTX.pptx
  • Slide master and layout inheritance
  • Preset / custom shapes, groups and SmartArt text
  • Gradient fills, picture effects and 3D shading
  • Classic combo and stock charts, plus optional ChartEx / 3-D / Region Maps
  • Adaptive large-image display, optional TIFF images, embedded fonts, math and media
  • Table text selection, text / element context, progressive virtualized scroll, zoom, find & links
Full support matrix ↗︎

Announcements

Release and migration notices.

View all notices ↗︎