Skip to content
Open beta — everything’s free right now, and your rate is locked when it ends.
← All guides

How to export an Airtable base — and what doesn't come with it

Airtable exports one table at a time, as CSV, from the view you're looking at. Here's the actual procedure, plus the four things that don't survive the trip: attachments, links, field types and view configuration.

Two separate questions get asked as one. How do I get a copy of my data has a straightforward answer. How do I get a copy I could rebuild from has a longer one.

The short version

Airtable exports per view, as CSV. The command is easy to miss, because it isn't where most people look for it:

  1. Open the view you want.
  2. Click the view's name in the toolbar — the dropdown at the top left, next to the view icon.
  3. Choose Download CSV.

Not the right-click menu on the view in the left sidebar: that one offers rename, duplicate and delete, and no export at all.

Because the command belongs to a view, you get that view — its columns, in its order. Repeat per table. A base with nine tables is nine downloads.

The four things that don't come with it

This is the part worth knowing before you rely on a CSV as a backup.

1 · Attachments aren't in the file — and the links go dead in about two hours. A CSV cell holds a URL pointing at the file, not the file. Since November 2022 those URLs expire: Airtable's own documentation says a URL obtained through the API is "only be active for a short period of time (~2 hours)", with a guarantee that it stays live for at least two hours after you receive it.

So a CSV export is not a backup of your attachments in any meaningful sense. It is a list of links that will be broken by this afternoon. If the files matter, fetch the bytes immediately — a script that walks the export and downloads each URL, run in the same session as the export itself. Airtable is explicit that using them as a CDN is discouraged, which is the same point from the other direction.

2 · Links between tables become text. A linked record cell exports as the display value of the record it pointed at — usually a name. So "Layla Hassan" survives; the fact that it was a pointer to a row in another table does not. Rebuilding elsewhere means matching those strings back into real links, which works exactly as well as your display values are unique. Two clients with the same name is where this goes wrong.

3 · Field types are gone. CSV has no notion of "this column is a currency, that one is a single select with these six options and these six colours". You get text. Whatever you import into has to guess the types again.

4 · Views, filters, groupings and formulas don't come. You're exporting the output of a formula field, not the formula. The structure of the base — what made it useful — isn't in there.

If you want a real backup

CSV is the wrong shape for it. The options, in order of effort:

  • The API. Airtable's REST API returns records as JSON with types intact and links as record ids rather than display strings. A script that walks every table and writes the JSON gives you something you could actually restore from — attachments still need fetching separately, from those URLs, promptly.

  • A third-party backup service. Several exist and they're doing the above on a schedule. Worth it if the base matters and nobody wants to maintain a script.

  • Airtable's own snapshots. Worth knowing that these exist on every plan, free included — what changes with the plan is how long they're kept. Airtable's documentation puts free-plan snapshots at two weeks before deletion, paid plans at up to a year, and Enterprise Scale at three years by default, adjustable in one-year steps to a maximum of ten.

    Two caveats before you treat that as your backup. A snapshot lives inside Airtable, so it answers "somebody broke the base" and not "we want to leave" or "our account is gone". And a base restored from a snapshot arrives without its revision history — the records and comments come back, the audit trail doesn't.

Moving it into Tabla

If the destination is us, the CSV path isn't the one to take. Our importer connects to Airtable directly: tables, fields, records and attachment bytes come across in one run, with types and links reconstructed rather than flattened into text.

And the reason we wrote this page rather than just the sales pitch: the same question is worth asking about us. The answer is that a Tabla database exports whole, in one file — every table as CSV, every record, every attachment's actual bytes, and a manifest describing the structure — on every plan, free, without asking anyone. That's the export we designed first, on the theory that you should know how to leave before you arrive.

Tabla is the database we build these on.

A no-code database with real Postgres underneath: every feature on every plan, no record ceiling, and your whole database back out in one file, any day.

More guides