Skip to content

Open Source · MIT

The spreadsheet for humans and agents.

An open-source spreadsheet engine rebuilt in Rust. Dynamic arrays, pivot tables, XLOOKUP — with Node.js SDK built for AI.

bash
npm install @mog-sdk/node

Live spreadsheet running in your browser via WebAssembly — not a screenshot.

Loading Mog spreadsheet...

Use Cases

Built for developers and agents

Embed in your app

Drop a full spreadsheet into any web app with one React component. Dynamic arrays, pivot tables, and 582 functions out of the box.

Run on a server

Process XLSX files, evaluate formulas, and generate reports server-side with the Node.js SDK. No browser required.

Power AI agents

Give LLMs structured access to spreadsheet operations. The SDK’s typed API is designed for tool-use — no screen scraping or prompt engineering.

Why Mog

A complete spreadsheet engine, not just a UI component.

Agentic

Built for humans and agents

A structured API that LLMs can call directly. Node.js SDK designed for AI agent workflows — no screen scraping or macro hacks.

  • Node.js SDK for AI agent workflows
  • Node.js SDK via N-API with native performance
  • Headless server for batch processing
  • Tool-use-ready API (structured input/output)
Powerful

Full Excel compatibility, rebuilt in Rust

582 functions, dynamic arrays, pivot tables, XLOOKUP, conditional formatting, and structured references. Not a subset — the real thing.

  • 582 Excel-compatible functions
  • Dynamic arrays, XLOOKUP, LAMBDA
  • Pivot tables, conditional formatting, data validation
  • Native XLSX parsing and writing (full OOXML spec)
Collaborative

Real-time, offline-first, conflict-free

CRDT-based collaboration powered by Yrs. Works offline, syncs when connected, never loses data. No operational transform complexity.

  • CRDT collaboration via Yrs (Rust)
  • Cell identity model for conflict-free formulas
  • Offline-first with automatic sync
  • Canvas rendering at 60fps via binary wire protocol

Architecture

One Rust engine, every platform

Written once in Rust, compiled to three targets. Same code in the browser, on a server, and in a server runtime.

Browser

WebAssembly

Runs in a Web Worker. Zero server round-trips for computation.

Node.js

N-API

Native binaries for macOS, Linux, and Windows. No WASM overhead.

Rust compute core

Formulas, dependency graph, pivot tables, conditional formatting, and XLSX parser — all Rust. One annotated API generates bindings for every target.

compute-core

parser, functions, graph, formats,

schema, stats, charts, cf, pivot,

table, fill, solver, collab, wire

Binary wire protocol

Viewport data as compact binary buffers, not JSON. Zero allocations per cell. 60fps on large sheets.

Viewport buffer

36B header + N × 32B cell records

+ string pool + format palette

Mutation patches

Spliced directly into the viewport

buffer — no deserialization step

SDK

Programmatic access to everything

One Rust engine, every SDK. Same API in TypeScript.

Node.js

import { createWorkbook } from "@mog-sdk/node";

const wb = await createWorkbook();
const ws = wb.getActiveSheet();

// Set values and formulas
await ws.setCell("A1", "Revenue");
await ws.setCell("A2", 150000);
await ws.setCell("A3", "=A2 * 1.15");

// Structured table references
await ws.tables.add({ range: "A1:A3", name: "Forecast" });
await ws.setCell("B1", "=Forecast[@Revenue]");

// Batch operations into a single undo step
await wb.batch(async () => {
  await ws.setRange("C1:C3", [["Q2"], [170000], ["=C2*1.15"]]);
});

Built With Mog

Trusted by developers

Teams and developers building spreadsheet-powered products with Mog.

Adopter logos will appear here as teams start building with Mog.

Frequently asked questions

What is Mog?

Mog is an open-source spreadsheet engine rebuilt from scratch in Rust. It provides a complete spreadsheet runtime — formula evaluation, dependency tracking, XLSX parsing, canvas rendering, and real-time collaboration — that you can embed in web apps, run on servers, or use from Node.js.

Why Rust?

Rust gives us native performance, memory safety, and the ability to compile to WebAssembly (browser), N-API (Node.js). One engine, every platform, zero garbage collection pauses.

Is Mog free?

Yes. Mog is open source under the MIT license. Use it in personal projects, commercial products, or SaaS platforms.

How does Mog compare to existing spreadsheet libraries?

Most spreadsheet libraries focus on either UI rendering or file parsing. Mog provides the full stack: a Rust compute engine with 582 functions, canvas rendering, CRDT collaboration, and native SDKs. See the comparison page for a detailed feature matrix.

Is Mog production-ready?

Mog is in active development. The source repository and SDK packages are public now, while APIs are still stabilizing before 1.0.

More questions? Read more about Mog

Ready to build with Mog?

Mog is open source under the MIT license.