whatisgithub

What is betteroffice?

openooxml/betteroffice — explained in plain English

Analysis updated 2026-05-18

27RustAudience · developerLicenseSetup · moderate

In one sentence

An open-source office suite with Rust engines for editing and collaborating on Word, Excel, and PowerPoint files, compiled to WebAssembly for the browser.

Mindmap

mindmap
  root((betteroffice))
    What it does
      Word Excel PowerPoint engines
      Real-time collaboration
      Browser and server support
    Tech stack
      Rust
      WebAssembly
      React
    Use cases
      Embed editors in apps
      Headless document editing
      Collaborative editing
    Structure
      crates for Rust engines
      packages for TS editors
      apps/web for site
    License
      Apache-2.0
      CLA required

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Embed a drop-in React document, spreadsheet, or presentation editor into a web application.

USE CASE 2

Build a headless server that opens, edits, and saves DOCX, XLSX, or PPTX files programmatically.

USE CASE 3

Add real-time collaborative editing to Office file formats using the Rust CRDT-based engines.

USE CASE 4

Render Office documents in the browser without relying on a proprietary viewer.

What is it built with?

RustWebAssemblyReactTypeScriptNext.js

How does it compare?

openooxml/betterofficehellanglez/zsparkhome-operations/kopiur
Stars272727
LanguageRustRustRust
Setup difficultymoderatehardhard
Complexity4/54/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires the bun package manager and a Rust toolchain to compile the WASM assets.

So what is it?

BetterOffice is an open-source office suite built around a set of document engines written in Rust. It handles the three main Microsoft Office file formats, Word documents, Excel spreadsheets, and PowerPoint presentations, and its focus is on editing, rendering, and real-time collaboration on those files. The core engines compile to WebAssembly so they can run directly in a web browser, but the project also offers a native Rust API and headless server APIs for use outside the browser. The project is organized as a collection of packages. For documents there is a framework-free editor core that handles parsing, collaborative editing, and page layout, plus a ready-made React component for dropping a document editor into an existing app. The same pattern repeats for spreadsheets, with a typed Rust API for opening, editing, calculating, and saving XLSX files, a WebAssembly-powered core, and a React editor component. Presentations follow the same structure, with a Rust API, a WebAssembly core covering the slide model and rendering, and a React editor. Inside the repository, the Rust engines live under crates, the TypeScript editor packages live under packages, and there is a Next.js web application that powers the project's own site, betteroffice.dev, deployed on Cloudflare Workers. To build the project locally, a developer installs dependencies with the bun package manager, compiles the WebAssembly assets for the spreadsheet and document engines, and can then run the web app in development mode or run the Rust formatting, linting, and test suite. The project is licensed under Apache 2.0 and asks first-time contributors to sign a Contributor License Agreement before their pull request can be merged.

Copy-paste prompts

Prompt 1
Explain how the Rust engines in this BetterOffice project compile to WebAssembly for browser use.
Prompt 2
Walk me through installing the @betteroffice/docx-react editor component in a React app.
Prompt 3
Show me the difference between the Rust crates and the npm packages in this repo's structure.
Prompt 4
Help me build a headless script using betteroffice-xlsx to edit an XLSX file in Rust.

Frequently asked questions

What is betteroffice?

An open-source office suite with Rust engines for editing and collaborating on Word, Excel, and PowerPoint files, compiled to WebAssembly for the browser.

What language is betteroffice written in?

Mainly Rust. The stack also includes Rust, WebAssembly, React.

How hard is betteroffice to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is betteroffice for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.