TL;DR
Silurus/ooxml is a new open-source library that renders Office Open XML documents directly in the browser using WebAssembly. It provides pixel-perfect rendering for DOCX, XLSX, and PPTX files, with customizable UI options. This development could impact document viewing and editing workflows online.
Silurus/ooxml has launched as an open-source library enabling pixel-perfect rendering of Office Open XML documents directly in web browsers, using Rust-compiled WebAssembly modules. This development allows developers to embed highly accurate Office document viewers into web applications without relying on external services or proprietary viewers, marking a significant step in browser-based document handling.
The library includes Rust parsers for DOCX, XLSX, and PPTX formats, compiled into WebAssembly, which parse Office files into JSON models. The rendering engine, built with TypeScript and Canvas 2D API, displays documents with pixel-level fidelity. It supports features like equations rendering via MathJax and STIX Two Math, which are optional due to their size (~3 MB), allowing for optimized bundle sizes depending on use case.
Developers can instantiate viewers for each format, providing their own HTML Canvas elements or DOM containers. The system is designed for flexibility, enabling custom UI components such as scroll views, thumbnail grids, or master-detail panes, rather than relying solely on built-in viewers. The architecture separates parsing (done in Web Workers with WASM) from rendering, ensuring smooth performance and accurate text measurements tied to installed web fonts.
Why It Matters
This technology could revolutionize how web applications handle Office documents, enabling high-fidelity viewing and potentially editing without external dependencies. It benefits industries requiring precise rendering, such as legal, financial, or academic sectors, by offering an open, customizable alternative to proprietary viewers and cloud services. Additionally, its modular design allows integration into diverse web workflows, fostering innovation in online document management.

Plustek OS1180 – Flat Scanner for Graphics and Documents in A3 Format, Design Suitable for Libraries, Schools or Small Offices – Scanning A3 Documents in Approximately 9 Seconds
Maximum Scan size – 11.7"x 17" (297 x 431.8 mm) Large Format Scanning, easy digital Tabloid or A3…
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Background
Prior to this, rendering Office documents in browsers often relied on server-side conversions or embedded proprietary viewers, which could compromise fidelity or impose licensing constraints. Existing solutions lacked pixel-perfect accuracy or required external viewers, limiting integration flexibility. Silurus/ooxml builds on recent advances in WebAssembly and Rust to provide a native, browser-based rendering solution, aligning with trends toward fully client-side document processing.
“Our goal was to create a library that delivers pixel-perfect rendering of Office documents entirely within the browser, leveraging Rust and WebAssembly for performance and accuracy.”
— Silurus/ooxml team
WebAssembly Office document rendering tool
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What Remains Unclear
It is not yet clear how well the library performs with very large or complex documents, or how it handles advanced features like embedded media or macros. Compatibility with all Office features remains to be tested in diverse real-world scenarios. Furthermore, the impact on browser performance and memory usage under heavy workloads is still under evaluation.
browser-based DOCX XLSX PPTX viewer
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What’s Next
Next steps include broader testing across various document types and complexities, integration into popular web frameworks, and development of user-friendly APIs. The project team plans to release detailed documentation, performance benchmarks, and potentially extend support for additional Office features in future updates.
high fidelity Office document viewer
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
Can I edit documents with Silurus/ooxml?
Currently, Silurus/ooxml focuses on rendering documents. Editing capabilities are not yet supported but may be considered for future development.
Does this library support all Office features like macros or embedded media?
No, support for macros, embedded media, and some advanced features is limited or not implemented yet. The focus is on accurate rendering of core document content.
How large are the WebAssembly modules and how does that affect bundle size?
The parsers are compiled into WASM files, each around a few hundred KB to 1 MB. The optional MathJax/STIX engine adds approximately 3 MB, but can be excluded for smaller bundles. Tree-shaking ensures only necessary components are included.
Is this library suitable for production use?
As an open-source project, it is suitable for experimentation and integration into production workflows, but users should evaluate performance and compatibility based on their specific needs.
Source: Hacker News