Watch our latest video available on Youtube.
Tutorials/Tutorial

How to Import CSV and Excel Data into Airtable (Without Breaking Things)

Almost every Airtable project starts with a CSV or an Excel file that someone wants imported. The import itself is easy — the part that breaks bases is field-type mismatches, duplicated linked records, and broken dates. This guide covers the import options Airtable offers in 2026 and the field-by-field cleanup pattern we use on every migration project.

Beginner13 min readJun 5, 2026

Every Airtable implementation starts with the same artefact: a CSV or an Excel file from the old system that someone wants in Airtable by Friday. The import is the first impression of the new system, and a sloppy import — dates as text, duplicated linked records, multi-selects split into 30 useless columns — sets the wrong tone for the whole project.

This guide covers the import options Airtable provides in 2026, the field-by-field mapping that catches most issues at import time, and the cleanup patterns for the bits that always go wrong anyway.

Your Import Options in 2026

Airtable offers three native ways to bring data in:

MethodBest forRow limit
Quick start (new base)Starting from a CSV/Excel file with no existing base15,000 per file
Import to existing tableAdding a CSV into an existing table15,000 per file
CSV Import extensionRepeated imports into a configured table, merges into existing15,000 per import
Airtable Sync (Google Sheets)Live, read-only mirror of a Google SheetNo hard cap (slow at scale)
API / scriptProgrammatic imports of any sizeUnlimited (10 records/batch)

For one-time imports the first three are fine. For recurring imports on a schedule, use the CSV Import extension or a Make / Zapier scenario that runs the import for you.

Step 1: Clean the File Before You Touch Airtable

The single biggest determinant of import quality is the state of the source file. Spend 15 minutes here and save two hours of cleanup later.

In Excel or Google Sheets:

  • One header row. No merged cells, no banner rows, no totals. Delete everything that is not data.
  • Consistent column names. They become your Airtable field names. Rename now while it is cheap.
  • One value per cell. Cells containing "Acme, Beta, Gamma" should either be split into three rows or kept as a single multi-select value — decide before import.
  • Standardize date formats. Convert every date column to ISO (2026-04-15) using a formula like =TEXT(A2,"YYYY-MM-DD"). Airtable parses ISO unambiguously.
  • Remove formulas. Copy and Paste Values so the import gets the calculated results, not #REF!.
  • Trim whitespace. Trailing spaces in "Acme Corp " vs "Acme Corp" become two different linked records. Use =TRIM(A2) to normalize.
  • Dedupe the unique key. Sort by Email (or whatever uniquely identifies a row) and delete duplicates.

For Excel workbooks with multiple sheets, decide upfront: does each sheet become a table in the same Airtable base, or do you only need one of them? Airtable imports each sheet as a separate table by default.

Step 2: Pick the Right Import Path

For a brand new base from a single file:

  1. From the Airtable home, click Add a baseQuick start.
  2. Drop in the CSV or .xlsx.
  3. Airtable previews the first 50 rows and proposes field types.
  4. Review every column. (See the field-type cheat sheet below.)
  5. Click Import.

For a CSV added to an existing base:

  1. Open the base, click the + next to the last table.
  2. Choose Import data → CSV file.
  3. Same preview and field-type screen.
  4. Click Import to create a new table inside the base.

For data that needs to merge into an existing table:

  1. Open the existing table, add the CSV Import extension from the extensions panel.
  2. Configure column mapping — each CSV column maps to an Airtable field.
  3. Choose Insert new records only or Update existing records (the extension can match on a primary field to upsert).
  4. Click Import.

The merge mode in CSV Import is the underused superpower — it dedupes during the import instead of creating duplicates.

Step 3: Field-Type Mapping — The Cheat Sheet

The preview screen lets you set the type of every column. Get this right before clicking Import.

Source dataPick this field typeNotes
Plain names, IDsSingle line textDefault; safe.
Long descriptions, notesLong textWatch for \n line breaks in the source.
2026-04-15, ISO datesDateSet the timezone explicitly in field settings.
4/15/2026, US datesDate (US format)Manually verify a few rows after import.
Email addressesEmailValidates format; flags bad data.
Phone numbersPhoneLoses leading zeros if you imported as Number.
$1,250.00CurrencyStrip the dollar sign and commas in the source first.
25%PercentSource should be 0.25, not "25%".
One of: Open/Closed/WonSingle selectAirtable infers options from unique values.
Comma-separated tagsMultiple selectAirtable splits on commas during import.
Names of related companiesSingle line text (for now)Convert to Link to another record after import (see Step 5).
URLsURLValidates clickability.
TRUE / FALSECheckboxAirtable maps truthy strings.
Anything you are unsure aboutSingle line textYou can convert later. Importing as text never loses data.

Rule of thumb: when uncertain, import as Single line text. Type conversion later is safe; importing as the wrong rich type can lose information.

Step 4: Validate the Import

Before you build anything on top of the new table, spot-check the data.

  1. Sort by Created Time descending and look at the bottom of the table — the last imported rows. Common failure: the last few rows truncated because of an empty line in the CSV.
  2. Count rows. Filter for blank primary field. Should be zero. If not, your CSV had empty rows.
  3. Group by Status / Type / Category (any column that should have a small set of values). Look for typos that created near-duplicate options — Closed vs closed vs Closed (with space). Use single-select field settings to merge them.
  4. Check date fields. Sort ascending and descending. Make sure 1900-01-01 or 2099-12-31 sentinels are not lurking.
  5. Look for stray HTML or markdown. Some sources export with &amp; or <br/> baked in. Find/replace cleans them.
  6. Verify multi-select splitting. If multi-select options ended up with Tag1, Tag2 as a single option instead of two, the source was using a different separator. Reimport with the correct delimiter or split with a formula.

Step 5: Converting Text Fields to Linked Records

This is the step that hurts. CSV exports flatten relational data — every project row contains the client name as text, not as a link. After import, you want it as a linked record.

The two-pass pattern:

  1. Import the parent table first. Clients (or Companies, or Vendors). Make sure the primary field is the column you will match on (usually Name).
  2. Import the child table next. Projects. The Client column comes in as Single line text.
  3. Convert the column type to Link to another record and point it at the parent table.
  4. Airtable matches each text value against existing parent records. Exact matches link. Mismatches create new records.

This is why source-data cleanup matters. If "Acme Corp" and "Acme Corp." (trailing period) both appear in the child table but only "Acme Corp" exists in Clients, you will get a new "Acme Corp." record. Now you have two Acme records to merge.

The defensive pattern:

  • Before converting, export the unique values from the child column.
  • Diff them against the parent table's primary field.
  • Fix mismatches in the child data first (or add the missing parents to the parent table).
  • Then convert the column type.

For complex many-to-many or junction-table imports, the linked records guide covers the model in more detail.

Importing from Google Sheets

Two options:

One-time import. Download the Google Sheet as CSV (File → Download → CSV) and use the normal CSV flow. Done.

Live sync. Airtable's Google Sheets sync turns a sheet into a read-only synced table. Changes in the sheet propagate to Airtable on a schedule. Useful when the sheet remains the source of truth (e.g. a finance team that will not switch off spreadsheets) and Airtable consumes the data. The synced table is read-only in Airtable.

Sync requires a Team plan or higher.

Recurring Imports — Make This Automatic

If the same CSV will land in Airtable every week, do not import manually. Three patterns:

  • CSV Import extension with merge mode — open the extension, drop the new file, hit import. The fields stay mapped between runs.
  • Make scenario — watch a folder in Google Drive or Dropbox, parse the CSV, upsert into Airtable via Search + Update/Create.
  • API script — for technical teams, an Airtable script or external Python job that reads the CSV and batch-creates 10 records at a time.

The Make pattern is the most common in production because it handles errors, retries, and notifications natively.

Common Mistakes

Importing before cleaning. Always cheaper to clean in Excel than in Airtable. Five minutes with TRIM and Remove Duplicates saves an hour of post-import work.

Trusting Airtable's type guesses. The preview suggests types based on the first 50 rows. If row 51 has a non-numeric value in a Number column, the whole column fails or truncates. Always glance through the preview screen even when you trust the file.

Creating linked records by accident. Most common cause of doubled Clients tables. The conversion to linked record matches by exact text. Clean the text first.

Forgetting the record cap on your plan. A free workspace caps at 1,000 records per base. Importing a 50,000-row file will fail or hit the limit and leave a partial import. Check your plan limits before importing.

Losing Excel formulas. Imported as static values. If the file relied on formulas, document the logic and rebuild it as Airtable formula fields. The formulas cheat sheet has the common translations.

Not backing up first. Before any large import into an existing base, back up the base. Imports cannot be undone with one click — they can only be reversed by deleting records, which can cascade through linked tables.

Recovering from a Broken Import

If the import has already gone wrong:

  1. Sort by Created Time descending to find the imported batch.
  2. Filter to that time window to isolate just the import.
  3. Select all and delete if you need to start over.
  4. Use revision history (Pro plan and up) to see what existed before. Right-click a record → Revision history.
  5. If linked records duplicated, use the Dedupe extension or a script to merge duplicates by primary field.

For very large imports gone wrong, restore the base from a snapshot (Pro plan and up) rather than picking through rows.

Where to Go Next

A successful import is the start, not the finish. Once your data is in, the next steps are usually setting up linked records, building Interface Designer pages so your team can work with the data, and adding automations for the recurring work.

For ongoing imports from external systems, see the Make automation guide. For Airtable's official import documentation, the CSV import support article is worth keeping bookmarked.

Frequently Asked Questions

Common questions about this tutorial.

Ready to Transform Your Business Operations?

Join 100+ companies that have automated their way to success. Get started today and see the difference.