Skip to content
Mog is in active development. The GitHub repo, SDK packages, and community channels are not yet available. Follow for launch updates

About Mog

Mog is an open-source spreadsheet engine built from scratch in Rust. It compiles to WebAssembly for browsers, N-API for Node.js, and Python bindings for data science — so you can embed a full spreadsheet experience anywhere, or process XLSX files server-side without Excel.

Why build a new spreadsheet engine?

Spreadsheets are the most widely used data tool in the world, but the engines behind them are either proprietary (Excel, Sheets) or incomplete (open-source libraries that handle formulas but not rendering, or rendering but not formulas). Developers building spreadsheet-powered products have to stitch together multiple libraries — and still miss features.

Mog is a single engine that covers the full stack. Formula evaluation, dependency graph recalculation, number formatting, conditional formatting, pivot tables, XLSX file parsing, canvas rendering, and CRDT collaboration — all written in Rust with a unified API across platforms.

Rust, not JavaScript. The compute core is written in Rust and compiles to WebAssembly for browsers (runs in a Web Worker to keep the main thread free), native N-API bindings for Node.js (no WASM overhead), and Python bindings via PyO3. A custom bridge framework generates type-safe bindings for every target from a single annotated Rust API.

CRDTs, not OT. Mog uses Yrs (Rust port of Yjs) for collaboration. Every edit merges conflict-free, even offline. Cells are keyed by stable UUIDs — not positions — so concurrent structure changes (two users inserting columns simultaneously) compose correctly under the CRDT.

Canvas, not DOM. Every pixel is drawn on HTML Canvas, the same approach used by Excel and Sheets. Viewport data is streamed from Rust as a compact binary buffer — the renderer reads cell values directly via DataView with zero allocations per cell.

How Mog compares

Mog vs. existing spreadsheet tools and libraries.

FeatureMogTraditional tools
Compute engineRust compiled to WebAssembly — native speed in the browserJavaScript-based formula evaluation
Formula coverage500+ Excel-compatible functions, fully tested in RustPartial coverage, varies by platform
RenderingCanvas-based with spatial indexing and binary wire protocolDOM-based (most web spreadsheets) or proprietary
CollaborationCRDTs (Yrs/Yjs) — conflict-free, works offlineOperational Transform (requires central server) or last-write-wins
File I/ONative Rust XLSX parser and writer, client-side, no server neededServer-side conversion or limited client-side parsing
ProgrammabilityFull SDK for Node.js, browser, and Python with unified Workbook/Worksheet APIVBA (Excel), Apps Script (Sheets), or limited scripting
DeploymentEmbed anywhere — browser via WASM, server via N-API, scripts via PythonStandalone desktop app or cloud-only SaaS

Frequently asked questions

What is Mog?

Mog is an open-source spreadsheet engine. The compute core is written in Rust and compiles to WebAssembly for browsers, N-API for Node.js, and Python bindings for data science. It includes 500+ Excel-compatible functions, CRDT-based collaboration, canvas rendering, and native XLSX file I/O.

How does Mog compare to Microsoft Excel?

Mog implements 500+ Excel-compatible functions and supports native XLSX parsing and writing, so your existing files work out of the box. Unlike Excel, Mog runs in the browser via WebAssembly, offers CRDT-based collaboration (no central server required), and provides a full programmatic SDK. Mog is an engine you embed in your own apps — not a standalone desktop application.

How does Mog compare to Google Sheets?

Both offer real-time collaboration, but Mog uses CRDTs for conflict-free merging (even offline), while Sheets uses Operational Transform. Mog's Rust compute engine runs at native speed via WebAssembly, versus Sheets' JavaScript engine. Mog renders on Canvas for better large-dataset performance, and all computation happens client-side — your data never leaves the browser.

How does Mog compare to other spreadsheet libraries?

Most spreadsheet libraries are either UI components with limited computation, or formula engines without rendering. Mog is a complete engine — formulas, rendering, file I/O, collaboration — written in Rust for performance, with SDKs for every major platform.

What platforms does Mog support?

Browser (WebAssembly), Node.js (native N-API bindings for macOS, Linux, and Windows), Python (PyO3 bindings, in development), and desktop (Tauri). The same Rust compute core powers all targets.

Is Mog open source?

Yes. Mog is open source under the Modified MIT license. The full source code is available on GitHub. See the contributing guide to get involved.

Can I embed Mog in my own app?

Yes. The @mog-sdk/embed package provides a web component and React wrapper that loads a full spreadsheet into any page via WebAssembly and Canvas. The live demo on sheetmog.ai uses this exact embed.

Is Mog production-ready?

Mog is in alpha. The core engine (formulas, rendering, XLSX parsing) is functional. We're stabilizing the public API and expanding test coverage before a stable release. Check the roadmap for the current status.

Try Mog

Mog is open source under the Modified MIT license.