weave documentation

weave vs Airtable — an open-source, self-hosted alternative

weave is a local-first, MIT-licensed work platform: connected tables, relations, workflows, formulas, rollups, and markdown documents on every record, in a single SQLite file you own. This page maps Airtable’s concepts onto weave’s, and is honest about what is missing.

Airtable’s product and pricing as described here reflect August 2026 — check airtable.com for current terms.

Concept mapping

Airtable weave Notes
Workspace Workspace One .db file. A server can host several side by side, switched from the icon rail.
Base Space Spaces group tables. A workspace holds many.
Table Table Qualified as Space/Table when names collide.
Record Entity Every entity gets a per-table public id — Task#12 — usable as a ref anywhere.
Field Field See the field-type table below.
Grid view Table view Inline editing on every cell.
Kanban view Board view Columns are workflow states.
Gallery / list List view  
Linked record Relation Bidirectional and real — the inverse field is created and maintained for you.
Lookup Lookup Pull a field across a relation.
Rollup Rollup Aggregate across a relation.
Formula Formula Computed from other fields in the row.
Long text / rich text Document field Full markdown, and any number per entity — not one notes field.
Attachments File attachments Stored in a files/ directory beside the workspace.
Automations Automations Trigger on created / field changed / state changed → set field, append doc, add comment, POST a webhook.
Interfaces Not built.
Forms Not built.
Sync / integrations Webhooks + REST + CSV Outbound webhooks and a full REST API; no prebuilt connector catalog.
Collaborators & permissions Not built. weave has no accounts at all — see below.

Field types

weave implements text, number, date, date range, checkbox, url, email, select, multiselect, workflow state, relation, lookup, rollup, formula, and document.

Airtable types with no weave equivalent today: rating, duration, barcode, button, user, currency and percent as distinct types (use number), and the AI-generated field types.

Where weave wins

Where Airtable wins

Migrating

There is no one-click importer. The practical path:

  1. Export each Airtable table as CSV.
  2. Create the space and tables in weave — via the UI, the CLI (table create, field add, relation add), or by handing an agent the MCP server and the CSV headers.
  3. node bin/weave.js import or the weave_import_csv MCP tool loads the rows.
  4. Recreate linked records as relations, then lookups, rollups, and formulas on top.

Migrating off weave is the part worth checking before you commit: node bin/weave.js export --data <file> writes the whole workspace as readable JSON, csv <table> dumps any table, and the .db is standard SQLite.

See also