IronCalc – Open-Source Spreadsheet Engine
Architecture & Technology
- Spreadsheet engine written in Rust, compiled to WebAssembly; React is only the UI.
- Runs entirely in the browser; server is used only for static hosting, sharing, import, and XLSX export.
- Engine can be used standalone via Rust, JavaScript (wasm), and early Python bindings; Java and C bindings are discussed as future work.
- Data in the web app is stored in browser localStorage.
Performance & WASM
- Multiple commenters note the app feels very fast and lightweight (<1 MB compressed download).
- Author claims Rust+WASM is significantly faster than a JS/TS engine and better suited for running on “bare metal” with bindings to Python/R/Julia.
Excel Compatibility & Features
- Primary near-term goal is Excel compatibility (functions, dynamic arrays, names, pivot tables, LAMBDA, volatile functions, etc.).
- Engine handles lazy evaluation and volatile functions like RANDBETWEEN/NOW; recalc behavior mirrors Excel-style dependency rules.
- Many Excel features are still missing (e.g., Goal Seek, sensitivity analysis, various UI affordances); Excel parity is acknowledged as impossible overall, only a substantial subset is targeted.
- XLSX export is supported; format is standardized and legally usable.
Use Cases & Integration
- Intended both as an embeddable engine for SaaS products and as a standalone spreadsheet.
- Envisioned use cases: integrating finance/ops spreadsheets into apps, batch-running existing workbooks, custom extensions (e.g., SAT solver), server-side evaluation via bindings.
- Some commenters want tight embedding APIs, programmatic pivot tables, and better docs for integration (React/Vue/Angular, Java backends).
Licensing & Openness
- MIT/Apache-2 dual license; strong emphasis on remaining open source and lightweight as the main differentiation vs Excel/OnlyOffice/Collabora.
- Analytics via Plausible; there’s discussion about possibly removing analytics entirely, with current stats made public.
UI/UX Feedback
- Current UI is minimal; some expected spreadsheet behaviors (full row/column select, auto-resize) are missing but on the roadmap.
- Project is consciously “engine first; UI second”; terminal and other “skins” are planned.
Marketing & Positioning
- Several commenters criticize buzzwordy phrases like “democratization of spreadsheets” and find messaging unclear about where it runs and how data is stored.
- The phrase is being reconsidered; clearer positioning (browser-based, embeddable engine) is requested.
Adoption & Competition
- Many doubt it will “replace Excel” given Excel/Sheets’ dominance, ecosystem, and ingrained workflows.
- However, there is enthusiasm for a small, fast, MIT-licensed engine as a better alternative to ad-hoc in-house spreadsheet implementations and for self-hosted or embedded use.