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.
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.
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.