← All playbooks
Databases migration

Google Sheets → Airtable

Airtable can import a Google Sheet into a new or existing table. The copy does not stay in sync, and a CSV merge is a separate extension with a 25,000 row cap.

Typical timeline3 to 10 business days8 to 24 hours active work
Statusneeds review
Source profileGoogle Sheets download and import help reviewed 2026-11-02
Destination profileAirtable Google Sheets and CSV import help reviewed 2026-11-02
Documentation date
Review window
Evidence4 sources
This route needs review.Use it as a planning baseline, then verify the dated sources and test with representative data before production.
Before you migrate

Should you make this move?

Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.

Current platform

Google Sheets

Reasons to stay
  • Shared spreadsheets that most teams can open, comment on, filter, and download
  • Structured ownership, status, and workflow views improve operational visibility
Reasons to leave
  • Relations, attachments, and automations have to be rebuilt with formulas or scripts
  • Custom fields, automations, history, and reporting are difficult to reproduce exactly
New platform

Airtable

What gets better
  • Approachable relational tables combine spreadsheet familiarity with lightweight apps
  • Structured ownership, status, and workflow views improve operational visibility
What gets worse
  • Scale, automation, and permission needs can become expensive or awkward
  • Custom fields, automations, history, and reporting are difficult to reproduce exactly
Best of the move

Airtable: Approachable relational tables combine spreadsheet familiarity with lightweight apps. This removes a major source-side concern: Relations, attachments, and automations have to be rebuilt with formulas or scripts.

Worst of the move

What you lose: Shared spreadsheets that most teams can open, comment on, filter, and download. What you inherit: Scale, automation, and permission needs can become expensive or awkward.

Jump to a section
01At a glance

Know the shape of the move.

Transfer outcome12 features audited
Transfer outcome distributionClean transfer: 1, Partial transfer: 4, Manual rebuild: 5, Not transferred: 2.
Clean1
Partial4
Manual5
Lost2
Mapping route9 of 10 fields have a destination path

This timeline assumes

  • The sheet is the source of truth on the day you import. The site already documents Airtable → Google Sheets, which is the other direction, and Airtable → Notion.
  • An Owner or Creator imports into an existing base. Airtable says the import is on the web, not the mobile apps.
  • You take a base snapshot before a merge. Airtable recommends that for the CSV extension.
  • The first row is headers, unless you turn that off in the import panel.
  • The Google Sheet stays shared until the Airtable counts match. Edits in Airtable do not write back.
02What transfers

What survives the move.

“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.

ItemOutcomeImpactWhat happensMitigation
A Google Sheet as a new tablepartialcriticalAirtable's path is Add or import, Google Sheets, connect a Google account, pick the sheet, then adjust fields. You can turn Auto-select field types and Use the first row as headers on or off. The same article has steps for a new base, a new table in a base, and an existing table.Import into a new table first. Check field types before you import into a table that already has records.
No ongoing synclostcriticalAirtable says that after the import, changes in Airtable are not reflected in the original Google Sheet. The article points at a separate automation if you later want new sheet rows added.Freeze the sheet, import, then let only Airtable take edits.
Who can importmanualhighOwner or Creator is required to import into an existing base. The import UI is the web app or a browser. Airtable says it is not on the iOS or Android app. An interface-only user cannot map new columns that were not in an earlier import.Use an Owner or Creator on the web.
CSV sizepartialhighIf you download the sheet and import the file, Airtable's native limit on that page is 100 MB for a CSV and 5 MB for an Excel file. Over that, they say to split bases and sync. File, Download in Sheets can produce the CSV or Excel file.Prefer the Google Sheets connector when the account connect works. Split a CSV that is over 100 MB.
CSV extension mergepartialhighThe CSV import extension adds records or merges on a field you choose, such as an id or an email. It allows 25,000 rows and 5 MB. Airtable says to snapshot the base first. Create records starts the load.Use the extension only when you must update existing records. Otherwise the native import is the documented add.
Field typespartialhighAuto-select field types is a toggle, not a guarantee. You can include or exclude fields in Adjust your import. A column of mixed values can become the wrong type if you leave the guess on.Turn the guess off for dates and selects, and set the type yourself.
FormulasmanualhighThe import reads the sheet's values into fields. A Google formula does not become an Airtable formula.Decide which columns should be values and which you will rebuild as formulas after the load.
Several tabsmanualhighThe Google Sheets steps say you select a spreadsheet by name. They do not say every tab becomes a table. A CSV download is one sheet's file when you download that sheet.Import one tab, check it, then import the next. Do not assume a workbook arrives whole.
Comments, notes, and protected rangeslostmediumThe import articles describe fields and rows. They do not say notes, comments, or protected ranges become Airtable comments or field permissions.Copy comments you need. Set Airtable permissions after the import.
A second loadmanualcriticalThe native Google Sheets and CSV steps add records into the table you picked. The extension can merge, and only if you chose a unique field. Without that, a second import duplicates rows.Snapshot, then either merge on a key or import into an empty table.
SharingmanualhighA sheet's link sharing does not become base collaborators. Drive also treats a same-name upload as a revision unless you keep both files, which matters if you are staging CSVs in Drive.Invite Airtable collaborators on purpose.
The original sheetcleanmediumAirtable's warning is that Airtable edits do not flow back. The import does not describe deleting the Google Sheet.Keep the sheet read-only until the counts match.
03Field and feature mapping

Where each thing goes.

SourceDestinationMethodNotes
SpreadsheetTable in a basemanualAdd or import, Google Sheets. Check one tab at a time.
Header rowField namestransformToggle Use the first row as headers.
ColumnFieldtransformInclude or exclude it in Adjust your import.
Cell valueCellautomaticAuto-select field types is optional.
FormulaThe value, then a formula you rebuildmanualThe formula text is not the import.
CSV downloadNative CSV importtransform100 MB CSV, 5 MB Excel, on the web.
Id columnMerge key in the CSV extensiontransform25,000 rows and 5 MB. Snapshot first.
Second import without a keyDuplicate recordsmanualThe native import adds rows.
Comment or noteNo destinationunsupportedNot in the import steps.
Sheet sharingBase collaborators you invitemanualNot copied.
04Before you begin

Make the move recoverable.

Backup procedure

Create the source-of-truth backup

Keep the sheet and a base snapshot until the new table is accepted.

  1. Name the tab you will import.
  2. Download a CSV with File, Download as a second copy.
  3. Snapshot the base if it already has records.
  4. Stop edits on the sheet, or accept that later edits are a new import.
  5. Leave the sheet shared to you.

Proof to capture: A CSV on disk, a base snapshot, and the sheet still open.

Transformation · Add or import, Google Sheets

Native Google Sheets import

Create a table from the spreadsheet without a CSV, when the account connect works.

  1. Sign in as an Owner or Creator on the web.
  2. Connect the Google account and pick the spreadsheet.
  3. Set headers and field types in Adjust your import.
  4. Import into a new table and compare the row count.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

Transformation · CSV import extension

Merge by key

Update existing records instead of adding a second copy.

  1. Snapshot the base.
  2. Download a CSV at or under 5 MB and 25,000 rows.
  3. Map a unique field such as email or an id.
  4. Click Create records only after the match column is the one you meant.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

05Handle with care

The things most likely to hurt.

These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.

Cutover

The sheet keeps changing

criticallikely likelihood

People still edit Google Sheets after the import.

Consequence
Airtable says those edits do not flow back, and the sheet edits are not in the base either.
Mitigation
Make the sheet read-only before the final import.

Stop if: You cannot stop editors.

Pilot

Auto-select guesses a type

highpossible likelihood

A date or a select column imports as text, or a text column imports as a number and drops leading zeros.

Consequence
The field is the wrong type in a table you then build on.
Mitigation
Set types in Adjust your import, on a new table.

Stop if: The pilot column types are wrong and you were about to import into the live table.

Cutover

A second import duplicates everyone

criticalpossible likelihood

You run the native import again to pick up a fix.

Consequence
Rows are added. The extension merge is the path that updates, and only on the key you chose.
Mitigation
Snapshot, and merge on a unique field, or delete the bad table.

Stop if: The live table already contains the first import.

06Precise timeline

Do the work in this order.

Estimate forOne spreadsheet, one tab at a time, into a new Airtable table
Total elapsed3 to 10 business days
Active work8 to 24 hours
BufferAdd time for a merge of existing records, which needs a snapshot and a unique key.
01
Days 1 to 2Tabs and keys1 to 2 days
02
Day 2CSV and snapshot1 day
03
Days 2 to 5New table2 to 3 days
04
Days 5 to 7Freeze the sheet1 to 2 days
05
Days 7 to 12Keep the sheet3 to 5 days
  1. Days 1 to 2 · inventory

    Tabs and keys

    2 to 5 hours active1 to 2 days elapsedSheet owner waiting
    • List tabs.
    • Pick an id column if you must merge.

    Depends on: Sheet access, Airtable Owner or Creator

    Stop / go checkpoint

    Connect Google?

    Go when: Each tab is either in or out.

    Stop when: You need the mobile app to do the import.

  2. Day 2 · backup

    CSV and snapshot

    1 to 3 hours active1 day elapsedNone waiting
    • Download a CSV.
    • Snapshot the base if it has data.

    Depends on: Inventory

    Stop / go checkpoint

    Import a pilot tab?

    Go when: You can restore the snapshot and you still have the sheet.

    Stop when: There is no snapshot and the table already has records.

  3. Days 2 to 5 · pilot

    New table

    3 to 8 hours active2 to 3 days elapsedReview waiting
    • Import one tab into a new table.
    • Check types and the row count.
    • Do not share the base yet.

    Depends on: Google account connected

    Stop / go checkpoint

    Import the other tabs?

    Go when: The pilot count matches the sheet, minus nothing unexpected.

    Stop when: Field types are wrong.

  4. Days 5 to 7 · cutover

    Freeze the sheet

    2 to 5 hours active1 to 2 days elapsedEditors confirming they stopped waiting
    • Make the sheet read-only.
    • Import the final copy into the tables you will keep.
    • Invite Airtable users.

    Depends on: Pilot accepted

    Stop / go checkpoint

    Edit in Airtable?

    Go when: Counts match and the sheet is read-only.

    Stop when: The sheet is still changing.

  5. Days 7 to 12 · observe

    Keep the sheet

    1 to 3 hours active3 to 5 days elapsedUse in Airtable waiting
    • Leave the sheet readable.
    • Rebuild formulas you still need.
    • Do not import the same file again without a key.

    Depends on: Base in use

    Stop / go checkpoint

    Stop using the sheet?

    Go when: You can still open it if a column type is wrong.

    Stop when: The snapshot is gone and the table looks short.

07The point of change

Cut over with a way back.

Go live

Cutover

Load a frozen sheet into Airtable once.

Recommended window: After editors have confirmed they stopped writing to the sheet.

  1. Make the Google Sheet read-only.
  2. Import each tab into its table.
  3. Compare counts.
  4. Invite collaborators.
  5. Leave the sheet readable.

Proof to capture: Airtable row counts match the frozen sheet, and the sheet is still there.

Return to safety

Rollback

Use the Google Sheet again, and restore the base snapshot if the table is wrong.

Deadline: Before you delete the sheet or the snapshot.

  1. Send editors back to the sheet.
  2. Restore the snapshot if you merged into a live table.
  3. Leave a bad new table in place only if you are sure nobody is editing it, or delete it.
  4. Keep the CSV.
  5. Fix field types before the next import.

Proof to capture: The sheet is editable again, and the base is the snapshot or an untouched new table.

Rollback immediately when
  • The sheet was still edited after import
  • Field types are wrong
  • A second import duplicated rows
  • A tab never arrived
  • The CSV extension was over 5 MB or 25,000 rows
08Verification report

Prove the migration worked.

Every blocking check must pass. Capture the evidence before cleanup begins.

0%
Interactive report preview0 / 8 checks passed
PassIDCheckMethodExpected resultEvidence
V-01BlockingOwner or CreatorConfirm the importer's role and that you are on the web.Add or import is available.Role check.
V-02BlockingOne tabCompare the imported table with the tab you named.You can point at the source tab. Other tabs are separate imports.Tab note.
V-03BlockingCountCompare sheet rows, minus the header, with Airtable records.They match.Count note.
V-04BlockingDates and idsOpen a date, a select, and an id that has leading zeros.The type matches what you set in Adjust your import.Field list.
V-05BlockingKeyIf you used the extension, find one existing record that should have updated.It updated. A missing key means you should see a duplicate instead, and that is a failure.Record check.
V-06BlockingCSV limitsIf you used a file, check 100 MB native CSV or 5 MB on the extension.The file is under the limit you used.File size.
V-07BlockingSheet is read-onlyTry an edit as a normal editor.The sheet rejects it, so the copies cannot drift in silence.Share setting.
V-08BlockingSnapshotConfirm the snapshot or the untouched sheet exists.You can return to it.Snapshot note.
09Post-migration cleanup

Remove the scaffolding safely.

Safe after: The base has been edited on its own for a few days and the sheet is still readable.

  1. Keep the CSV and the snapshot until you trust the types.
  2. Rebuild formulas that arrived as values.
  3. Invite people in Airtable rather than forwarding the sheet link.
  4. Do not run the native import a second time on the same table.
  5. Leave the sheet until someone has used the base for a real edit.
Sources and evidence

Verify against the primary material.

Platform behavior changes. Check these sources and the review dates above before executing a production migration.

  1. Airtable: import Google Sheets and CSVAccessed 2026-11-02
  2. Airtable: CSV import extensionAccessed 2026-11-02
  3. Google Sheets: download a copyAccessed 2026-11-02
  4. Google Drive: upload and same-name filesAccessed 2026-11-02