Skip to content

Why Formulon ​

Formulon is for products that need to calculate Excel workbooks without running Excel. It reads .xlsx and .xlsb, evaluates and recalculates formulas, edits cells and structure, and writes the file back, all in your own process. The same C++17 engine is packaged for the browser, Node, Python, the shell, and AI agents.

Your productSurfacesCoreBrowser appfiles stay on the deviceService or jobNode, Python, CIAI agentover MCP@libraz/formulonWASM · browser and Node@libraz/formulon-nativeNode addon · source buildformulon (PyPI)Python wheelformulon CLIshell and CI@libraz/formulon-mcpMCP serverformulonone C++17 engine, checked against ExcelYour productSurfacesCoreBrowser appfiles stay on the deviceService or jobNode, Python, CIAI agentover MCP@libraz/formulonWASM · browser and Node@libraz/formulon-nativeNode addon · source buildformulon (PyPI)Python wheelformulon CLIshell and CI@libraz/formulon-mcpMCP serverformulonone C++17 engine, checked against Excel
Every surface calls the same core, so a workbook gives the same result wherever it runs.

What you get ​

  • Excel results without Excel: no desktop application, Microsoft runtime, or COM automation. Of the 526 function names Formulon recognizes, 511 run locally; the other 15 depend on Microsoft 365 services and return a fixed error.
  • Compatibility you can check. Results are compared with values captured from real Excel 365, and each known difference is listed in tests/divergence.yaml with its reason and the Excel build it was last verified on. How far compatibility goes runs concrete cases live, from floating-point residue to Japanese era dates.
  • The answer Excel gives in your locale. 28 profiles cover fourteen locales on Mac and Windows hosts, including text comparison and localized formula names. All Mac profiles and win-365-ja_JP are measured against captured Excel values; the other Windows profiles are estimates for now. New workbooks use win-365-en_US unless you select another. See Locale profiles.
  • Workbook data stays with you. Calculation runs in your process and no Formulon-hosted service sees the file; in a browser, an uploaded workbook never has to leave the device.
  • The same value on every runtime. Browser, Python, CLI, Native Node, and MCP share the core, so a result you verified in one is the result you get in another.
  • Whole-workbook round trips: supported workbook structures are preserved while values are recalculated, so a file can be loaded, edited, recalculated, and saved rather than only having its formulas evaluated.

Compared with the alternatives ​

OptionUse it whenWhere Formulon differs
Excel itselfYou need the real application, VBA, Power Query, live connections, or a final visual reviewRuns headless in a browser, service, or job; no desktop app to automate
A desktop office suite in batch modeYou convert files in bulk and can accept that suite's calculation behaviorTargets measured Excel behavior per locale profile
A formula-only libraryYou evaluate formulas but never open or save .xlsxReads, edits, and writes the workbook itself
A cloud spreadsheet APIThe workbook already lives in that hosted productCalculates locally; the file is not sent to a hosted service

What it does not try to solve ​

The engine has no user interface and does not draw charts. For a spreadsheet UI in the browser, formulon-cell builds one on top of the engine and renders the common chart families; it is in beta. Formulon does not run VBA, Power Query, or DAX, refresh live external data, or read legacy .xls files. Keeping those out is what lets the engine stay small enough to embed and test.

Current status ​

Formulon is pre-1.0, and APIs and package layout may still change before the first stable release. Speed depends on workbook shape and formula mix, so there is no single benchmark number; measure with your own workbooks. For business-critical use, pin the Formulon version and profile, and keep representative workbooks as fixtures. The best current fit is controlled workbooks in server jobs, CI, internal tools, and embedded calculation.

  • Use cases — browser upload, Node service, Python batch, CI regression, and agents.
  • Formula coverage — which functions run, and why 15 do not.
  • FAQ — licensing, runtimes, and safety questions.