Skip to content

VisiGrid on the Web

app.visigrid.app runs VisiGrid in a browser. No install, no account needed to try it.

It is not a viewer or a cut-down preview. It runs the same calculation engine as the desktop app, compiled to WebAssembly — so a formula gives the same answer in both, and the version is the same version.

It is also not the same product. Some of what makes the desktop app a desktop app cannot exist in a browser tab, and some of it simply is not built yet. This page says which is which, so you can tell what you are choosing.

Calculation engine Same Rust engine, same results
File formats Opens and exports .xlsx, .ods, .csv, .tsv
Command palette Ctrl+K / Cmd+K, with fuzzy search
Vim mode All keys except f — see Vim Mode
Find & replace Ctrl+F / Ctrl+H
Conditional formatting, data validation, sort & filter Yes
Charts Yes
Themes Includes Catppuccin and the retro VisiCalc theme

Cloud sheets are a web feature. The desktop app opens files on your machine; the browser app keeps sheets in your VisiGrid account, which is what makes these possible:

  • Sharing — invite someone by email as a viewer or an editor
  • Live collaboration — see who else is in a sheet and which cell they are in, and watch their edits appear as they commit them
  • Links that work anywhere, including on a machine with nothing installed

None of these are in the browser app today:

Feature Why
Built-in terminal A browser tab has no shell, and should not
Lua console and custom functions Needs a Lua runtime the browser build does not carry — see below
Minimap Not built yet
Split panes Not built yet
Remappable keys (~/.config/visigrid/keybindings.json) No config file in a browser; web bindings are fixed
Vim f (jump to a cell by label) Needs a label overlay drawn over the grid — a feature rather than a keybinding
Named ranges Not built yet
Working entirely offline The desktop app needs no network at all

This is the one place where the two do not agree, so it is worth stating plainly rather than leaving you to discover it.

Custom functions are Lua, and the Lua runtime is part of the desktop app and the CLI — not the calculation engine. The browser runs the same engine, but that engine has never contained Lua. So a sheet whose formulas call your own functions opens fine in the browser and computes everything else correctly, while each cell that calls a custom function shows:

Unknown function: ACCRUED_INTEREST

Nothing is lost. The formula is still in the cell, the file is unchanged, and opening the same sheet on the desktop computes it as usual. But the browser cannot produce that value, and it says so rather than guessing or leaving the cell blank.

If you share such a sheet with someone, they will see those errors unless they open it on the desktop.

We would rather have no Lua in the browser than a second Lua that mostly agrees with the first. A different runtime would mean the same sheet could produce two different answers depending on where you opened it, which is the problem VisiGrid exists to avoid.

The CLI is desktop-only too, in the sense that it is a program you install — though what it operates on can be either.

Use the desktop app if you want the fastest thing, files that stay on your machine, or any of the desktop-only features above. It is 42MB and starts in well under a second.

Use the browser app if you want to share a sheet with someone, work with another person in it at the same time, or try VisiGrid without installing anything.

They are not exclusive. The same account works in both, and a sheet exported from one opens in the other.