Desktop app · macOS and Windows
Tabula
A desktop spreadsheet written in pure Rust—no UI toolkit, no browser.
It opens, edits, and saves Excel .xlsx files, and runs
Python right in a cell for the work a formula bar can't reach.
Version 0.21.0 · pre-release · free, MIT or Apache-2.0
At a glance
-
Real
.xlsx— an OOXML reader and clean writer that keeps column widths and row heights intact. Round-trip tested, with output validated against openpyxl. -
Python in cells — write
=py sum(A1:A10)and get a real Python expression, with ranges arriving as lists. - Built from scratch — an immediate-mode interface drawn by a winit + wgpu backend with its own glyph atlas, rather than a wrapped toolkit.
- Tabbed documents — several workbooks in one window, over a virtualized grid that stays quick as sheets grow.
Python in a cell
Write a Python expression directly in a cell, referring to other cells by address:
=py A1 * 2 + B1=py sum(A1:A10)=py round(sum(A1:A10) / len(A1:A10), 2)
References must be uppercase so they can be told apart from Python
variables—a lowercase a1 is a variable, not a cell. A range like
A1:A10 arrives as a list, so it can be passed to your own functions as well
as to built-ins. There is also a quoted form, PY("…", A1, B1), which reaches
other sheets: PY("…", 'Sheet'!A1).
Because Excel has no equivalent, a =py cell opened in Excel shows its last
computed value rather than the live expression.
Installing
-
macOS — open the
.pkgand follow the installer. If macOS reports the package is from an unidentified developer, Control-click it and choose Open. -
Windows —
tabula.exeruns on its own; there is no installer. SmartScreen may warn the first time a new executable runs—choose More info → Run anyway. - Linux — no build published yet.
What's under it
Tabula is a Rust workspace of five crates: a format-agnostic sparse workbook model with
zero dependencies, an .xlsx reader and writer over zip and quick-xml, a
backend-agnostic immediate-mode GUI core, a winit + wgpu renderer, and the grid
application itself. Because the file layer sits behind the model rather than inside it,
other open formats slot in beside .xlsx—.ods is next.
Tabula is pre-release software under active development; expect rough edges, and keep backups of files that matter. Older builds and full release notes are on the releases page. This page describes version 0.21.0.