BetterOffice

BetterOffice

The open-source office suite. Word-faithful editing and real-time collaboration on engines we build ourselves — running entirely in your browser, by the OpenOOXML project.

01 Suite

One suite, three editors

BetterOffice packages the OpenOOXML engines as ready-to-use editors. Documents, spreadsheets and slides are all live today on the same foundation.

DocumentsavailableWord-faithful editing: fonts, theme colors, styles, tables, headers & footers, tracked changes..docxdemo
SpreadsheetsavailableCalculation graph, grid rendering and number formats on the same shared core..xlsxdemo
SlidesavailableSlide model, masters and shape editing on the same shared core..pptxdemo

02 Packages

Ships as components, not iframes

The editors install from npm and render inside your app — no embeds, no external services, documents never leave the page. The same engines publish to crates.io for native Rust and to PyPI for Python.

@betteroffice/docxFramework-free .docx core — parsing, CRDT editing and page layout in Rust, compiled to WebAssembly.npm github
@betteroffice/docx-reactThe full DOCX editor as a React component — toolbar, pages, comments, tracked changes.npm github
@betteroffice/xlsxFramework-free spreadsheet core — parsing, calculation and rendering on the Rust engine.npm github
@betteroffice/xlsx-reactThe spreadsheet editor as a drop-in React component.npm github
@betteroffice/pptxFramework-free slides core — parsing, editing and rendering on the Rust engine.npm github
@betteroffice/pptx-reactThe slides editor as a drop-in React component.npm github

JavaScriptnpm docs

$npm install @betteroffice/docx-react

Rustcrates.io docs

$cargo add betteroffice-docx

PythonPyPI docs

$pip install betteroffice-xlsx

03 Foundation

Built on our own engines

BetterOffice is built by OpenOOXML, the open-source project writing native OOXML engines in Rust — parsing, layout, editing and rendering, from the file format up. Owning the whole stack is what makes the output Word-faithful.

  • Own enginesWe build the OOXML engines ourselves, in Rust — from the file format up. No wrapper around someone else's suite.
  • Native OOXML editingDocuments are edited in their own format. No lossy conversion on open, none on save.
  • Word-faithful outputWhat you see is what Word shows — layout, pagination and styling match the original.
  • Real-time collaborationThe document is a CRDT — concurrent edits merge in the engine, not on a server.
  • Agent-readyRuns headless too — parse, edit and render documents server-side or inside agent pipelines.
  • Apache 2.0Permissive license, developed in the open, self-hostable without exceptions.

04 Collaboration

People and agents, one document

The document itself is a CRDT: every editor — every person, every AI agent — is a peer on the same data structure, and concurrent edits merge in the engine. Agents don't get a sidebar; they get a cursor, with the same undo and the same tracked-changes attribution as any co-author.

  • PeopleLive co-editing over any WebSocket relay. Offline edits converge on reconnect — merging is the data structure, not a server feature.
  • AgentsAn agent edits through the same operations as a person, and human review is suggesting mode — accept or reject tracked changes, not a diff dialog.