text-canonical · collaborative · agent-friendly
Defter — the spreadsheet that's just text
The plain-text markdown document is the source of truth. The grid is a live, editable projection of it — so version control, real-time collaboration, full-text search, and AI agents all operate on ordinary text instead of a hidden binary model.
Try the live demo · Source on GitHub · Storybook
Why Defter
- Text is truth. A compact one-row-per-line markdown table. No opaque blob — it diffs, greps, and syncs like any text file.
- Collaboration for free. Bind the canonical text to a Yjs
Y.TextCRDT; concurrent edits auto-merge, with live presence. Bring your own network provider. - Agents read & write it. An LLM authors a markdown table and edits via structured MCP ops; a values-materialized projection gives search and RAG clean text.
- Rich, but still text. Fills, formats, merges, borders, and alignment live in a co-canonical style layer keyed by A1 range. Themed entirely through CSS variables.
Capabilities
Excel-style formula engine (~75 functions: SUM, VLOOKUP, INDEX/MATCH, SUMIF, IF/IFS), cross-sheet references, live formula-reference highlighting, point-mode reference insert, conditional formatting, data validation, checkbox & date cells, non-destructive row filters, charts, merged cells, number formats, copy/cut/paste (incl. iOS), undo/redo, smart fill series, insert/delete row-col with reference rewriting, column auto-fit, freeze header/column, multi-sheet tabs, CSV / XLSX import-export, row virtualization, CSS-variable theming, real-time collaboration with presence, touch / iPad support, MCP edit ops, and a RAG projection.
Packages
@defterjs/core— headless, framework-agnostic parse/serialize, coordinates, edits, projection, lint.@defterjs/formula— the default dependency-free Excel-style formula engine.@defterjs/react— the themeable React grid renderer.@defterjs/yjs— collaboration binding for a YjsY.Text.@defterjs/ironcalc— alternative IronCalc (Rust/Wasm) formula engine adapter.@defterjs/xlsx— XLSX import/export.
Open source (MIT). Defter is Turkish for ledger / notebook. Format spec · Rationale