Grist
Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database.
grist-core(this repo – also known as Grist Community edition) has what you need to run a powerful server for hosting spreadsheets.grist-desktopis a Linux/macOS/Windows desktop app for viewing and editing spreadsheets stored locally.grist-staticis a fully in-browser build of Grist for displaying spreadsheets on a website without back-end support.
Grist is developed by Grist Labs, an NYC-based company 🇺🇸🗽. The French government 🇫🇷 organizations ANCT Données et Territoires and DINUM (Direction Interministérielle du Numérique) have also made significant contributions to the codebase.
The grist-core, grist-desktop, and grist-static repositories are all open-source (Apache License, Version 2.0). Grist Labs sells an edition of Grist with additional features. Grist Labs also offers free and paid hosted services at getgrist.com,
as well as cloud packaging.
Questions? Feedback? Want to share what you're building with Grist? Join our official Discord server or visit our Community forum.
To keep up-to-date with everything that's going on, you can sign up for Grist's monthly newsletter.
https://github.com/user-attachments/assets/fe152f60-3d15-4b11-8cb2-05731a90d273
Features in grist-core
To see exactly what is present in grist-core, you can run the desktop app, or use docker. The absolute fastest way to try Grist out is to visit docs.getgrist.com and play with a spreadsheet there immediately – though if you do, please read the list of additional features that are not in grist-core.
However you try it, you'll quickly see that Grist is a hybrid database/spreadsheet, meaning that:
- Columns work like they do in databases: they are named, and they hold one kind of data.
- Columns can be filled by formula, spreadsheet-style, with automatic updates when referenced cells change.
This difference can confuse people coming directly from Excel or Google Sheets. Give it a chance! There's also a Grist for Spreadsheet Users article to help get you oriented. If you're coming from Airtable, you'll find the model familiar (and there's also our Grist vs Airtable article for a direct comparison).
Here are some specific feature highlights of Grist (🇫🇷 marks heavy French govt. contributions):
- Python formulas.
- Full Python syntax is supported, including the standard library.
- Many Excel functions also available.
- An AI Formula Assistant specifically tuned for formula generation (works with OpenAI, Llama, and many other models via OpenRouter or any OpenAI-compatible endpoint).
- A formula timer for diagnosing slow formulas.
- A portable, self-contained format.
- Based on SQLite, the most widely deployed database engine.
- Any tool that can read SQLite can read numeric and text data from a Grist file.
- Enables backups that you can confidently restore in full.
- Great for moving between different hosts.
- Can be displayed on a static website with
grist-static– no special server needed. - A self-contained desktop app for viewing and editing locally:
grist-desktop. - Convenient editing and formatting features.
- Choices and choice lists, for adding colorful tags to records.
- References and reference lists, for cross-referencing records in other tables.
- Two-way references that automatically synchronize between tables.
- Attachments, to include media or document files in records.
- Dates and times, toggles, and special numerics such as currency all have specialized editors and formatting options.
- Conditional Formatting, letting you control the style of cells with formulas to draw attention to important information.
- Markdown formatting in text cells.
- Drag-and-drop dashboards.
- Charts, card views and a calendar widget for visualization.
- Summary tables for summing and counting across groups.
- Widget linking streamlines filtering and editing data. Grist has a unique approach to visualization, where you can lay out and link distinct widgets to show together, without cramming mixed material into a table.
- Filter bar for quick slicing and dicing.
- Duplicate widgets to quickly build variations of a view.
- Compare documents to see what changed.
- Incremental imports.
- Import a CSV of the last three months activity from your bank...
- ...and import new activity a month later without fuss or duplication.
- Native forms. Create forms that feed directly into your spreadsheet without fuss.
- Supports file attachments, hidden fields, and pre-population via URL parameters.
- Integrations.
- A REST API with an interactive API console, Zapier actions/triggers, and support from similar integrators.
- Import/export to Google Drive, Excel format, CSV. Import directly from Airtable.
- Link data with custom widgets, hosted externally.
- Configurable outgoing webhooks, with support for authorization headers, column-specific triggers, and formula conditions.
- Service accounts for fine-tuned API access (🇫🇷).
- SCIM for standard user and group provisioning (🇫🇷).
- Many templates to get you started, from investment research to organizing treasure hunts.
- Access control options.
- (You'll need logins set up to make use of these options — see Logins)
- Share individual documents, workspaces, or team sites.
- Control access to individual rows, columns, and tables.
- Control access based on cell values and user attributes.
- Collaboration.
- Comments on cells, with threaded replies and @-mentions.
- See who else is viewing a document in real time.
- Suggest changes for others to review and approve, inspired by source control workflows.
- Self-maintainable.
- Useful for intranet operation and specific compliance requirements.
- Sign in with getgrist.com for easy authentication without running your own auth server.
- Store attachments externally in S3-compatible storage to keep
.gristfiles small (🇫🇷). - [HTTP long polling](https://supp