The question that decides an Airtable migration is which of its three jobs you actually depend on: a relational database, a spreadsheet-style work surface for non-technical users, or a lightweight builder for internal apps and forms. Airtable does all three at once, so a tool that stores relational data well can still feel wrong if your team cannot create views, edit fields, or filter records without help. NocoDB, Teable, Baserow, and APITable lean toward the full app-and-database experience, while Grist and undb emphasize a closer spreadsheet feel with real formulas.
Weigh the details that carry your daily work. Check how each tool handles linked records, field types, forms, and calendar or kanban views, and where permissions are defined: workspace, base, table, view, or row. Grist runs Python formulas and stores each document as a portable SQLite file, which suits people who want spreadsheet logic they can reason about and move. Teable and Baserow are built on PostgreSQL with REST APIs, better fits when the base is really the backend for an internal tool. APITable adds row and column permissions and a query language for teams that need finer access control.
Treat the move as rebuilding an application, not importing a file. Export each table as CSV or pull records through the Airtable API, and expect plain text, numbers, dates, selects, and checkboxes to transfer while relationships, formulas, rollups, attachments, automations, and permissions need reconstruction. Preserve original record IDs in a staging field so links can be remapped after import, load parent tables first, then rebuild the connections. Run one real base end to end and compare record counts before freezing changes for the final cutover.