How to Migrate from Airtable to Baserow: Step-by-Step Guide (2026)
Airtable is great until it isn't. You hit record limits, the per-seat pricing starts hurting, and you realize you don't actually own your data. That's why more teams are moving to Baserow — an open-source, self-hostable database that's completely free (yes, free, no catch). If you're tired of paying $20+/user/month just to store a few thousand records, this guide is for you.
Before you start, understand the trade-off: Baserow isn't a 1:1 clone. You'll lose some rich-field types (like Airtable's fancy rollups and lookups) but gain full control, unlimited rows, and zero per-seat fees. For most teams, it's a net win.
Why Baserow?
Baserow is a popular Airtable alternative because it's:
- Open source and self-hostable – you own your data, period.
- Free forever – the self-hosted version costs $0. No user limits, no record caps. Their cloud version is free too, with paid plans for extra storage/users.
- Truly unlimited – no arbitrary row limits on the self-hosted version.
- API-first – you can automate everything with webhooks and REST API.
If you want to compare feature-by-feature, see our Airtable vs Baserow comparison. For a full list of options, check the Airtable alternatives page.
Step 1: Audit and Back Up Your Airtable Base
Before touching anything, you need to know what you're moving. Airtable lets you export each base, but the format matters.
What to back up:
- Export each base as CSV – Go to your base, click the three dots next to the base name > Export CSV. Do this for every table in every base. This is your safety net.
- Download attachments – Airtable doesn't include attachments in CSV exports. You'll need to download them separately. Use Airtable's API or a tool like Zapier to pull all files. For small bases, just drag-and-drop from the UI.
- Document your formulas and rollups – Baserow has formulas, but syntax differs. Write down your most complex formulas.
- Note linked records – Airtable's linked record fields are the trickiest part. Map out which tables link to which.
Step 2: Set Up Baserow
You have two options:
- Self-hosted – install on your own server (Docker is easiest). You control everything.
- Cloud – sign up at baserow.io. The free cloud tier gives you unlimited databases but limits storage. For most small teams, it's plenty.
I recommend self-hosting if you care about data sovereignty. It's a single Docker command to get started.
Step 3: Migrate Your Data
Method A: CSV Import (Recommended for simple bases)
- In Baserow, create a new database and table.
- Click the "Import" button, choose your CSV file.
- Map the columns – Baserow will auto-detect field types, but double-check. Dates, numbers, and booleans usually come through correctly.
- Repeat for each table.
- Manually re-create linked record relationships. Baserow supports link row fields. You'll need to create the link field and then link records manually or via API.
Method B: API Migration (For complex bases) If you have dozens of tables or thousands of linked records, write a script. Both Airtable and Baserow have REST APIs. Here's the rough flow:
- Fetch all records from Airtable (paginated).
- Transform the data to match Baserow's field schema.
- POST to Baserow's database API.
- Create link row fields and link records by ID.
I've done this with Python in about 100 lines. It's worth the upfront effort if you have a lot of relational data.
Step 4: Rebuild Views and Permissions
Baserow has grid, gallery, and form views. Create the views you need. If you had complex filtered views in Airtable, rebuild them manually — the syntax is similar.
Permissions in Baserow are role-based (owner, editor, viewer). Set these up per table. It's simpler than Airtable's interface-level permissions, but gets the job done.
Common Gotchas
- Linked records break during CSV import – CSV export from Airtable shows linked record IDs, not names. You can't just re-import those IDs into Baserow. You'll need to re-link manually or script it.
- Formula syntax differs – Baserow uses Python-like formulas, not Airtable's spreadsheet syntax. For example,
IF({field}>5, "yes", "no")in Airtable becomesif(field('field') > 5, 'yes', 'no')in Baserow. - Attachments need manual upload – Baserow's file field expects you to upload files. You can't just point to a URL. Use the API to upload files programmatically.
- No rollup fields – Baserow doesn't have rollups yet. You'll need to compute those values in a formula or in your app layer.
- No lookup fields – Same deal. If you relied on lookups, you'll need to restructure your data.
Post-Migration Checklist
- Verify record counts – Compare total records in Airtable vs Baserow for each table.
- Spot-check linked records – Pick a few records with links and ensure they point to the right place.
- Test formulas – Run your most used formulas and check outputs.
- Check attachments – Make sure all files are present and accessible.
- Test views – If you use gallery or form views, test them with real data.
- Test API integrations – If you have Zapier or custom scripts pointing to Airtable, update them to point to Baserow's API.
- Delete old Airtable data – Once you're confident, delete your Airtable bases or at least revoke API keys.
FAQ
Is Baserow really free? Yes, the self-hosted version is completely free with no limits. The cloud version has a free tier with 1GB storage, 2 users, and 2 databases. Paid cloud plans start at $5/user/month for more storage and users.
Will my Airtable formulas work in Baserow? Not directly. Baserow uses a different formula syntax. You'll need to rewrite them. Simple arithmetic and text functions are easy; complex nested IFs may take some work.
Can I migrate attachments automatically? Not easily via CSV. Use the API to download from Airtable and upload to Baserow. For small attachments, manual download/upload is fine.
What if I have hundreds of linked records? Write a migration script. It'll save you days of manual linking. Use Airtable's API to get record IDs and Baserow's API to create links.
Is Baserow ready for production? Yes. It's been around since 2021 and is actively maintained. Thousands of teams use it in production. The self-hosted option gives you full control over uptime and backups.
Where can I learn more? Check out our Airtable vs Baserow comparison for a detailed feature breakdown, or the Airtable alternatives page for other options like NocoDB and SmartSuite.