Clean CSVs for Airtable imports
Airtable's CSV import is stricter than it looks. The merge step matches case-sensitively, only the first row wins when two share a merge value, and every column arrives as plain text for you to re-type by hand. Sigmera is not an Airtable connector and asks for no OAuth grant — you download the CSV, clean it in a browser tab, and bring it back through Airtable's own import extension. The file never leaves your device on the way through.
How it works
- 1Export from Airtable, or start from the file you were sentIn Airtable, click the down arrow to the right of the view name and choose Download CSV. Every field value visible in that view is included; comments, field descriptions, and data held only inside extensions are not. Exporting a whole base as one file is not supported, so each table comes down as its own CSV. Or start from whatever spreadsheet landed in your inbox. Nothing needs connecting: Sigmera has no Airtable app, no OAuth grant, and no API access to your workspace.
- 2Clean it in a browser tabDrop the spreadsheet into Sigmera. It is parsed by JavaScript running on your own machine, so a file of named contacts and their details is not transmitted anywhere. Deduplicate the stacked exports, lowercase the merge field, split the name column, and standardise the phone numbers — previewing every change before you commit to it.
- 3Save a CSV inside the import extension's limitsAirtable's CSV import extension accepts up to 25,000 rows and a 5 MB file. Deduplicating first is the cheapest way back under that ceiling, because a stacked export is usually over it through repetition rather than through real records. Sigmera writes a plain UTF-8 CSV, so accented names arrive intact rather than as replacement characters.
- 4Import through Airtable's own CSV import extensionAdd the CSV import extension to your base, upload the cleaned file, and map each CSV column to a field. Columns you leave unmapped are not imported, and the order and names do not have to match your table. Computed fields cannot receive imported data at all — formulas, rollups, counts, autonumbers, created and last-modified fields, buttons, barcodes, and attachments — so map those columns to real fields or drop them before you upload. Toggle merge on if you are updating existing records rather than adding new ones.
Common Airtable clean-ups
Airtable's CSV import extension can merge with existing records instead of appending them: you pick a merge field holding unique values, and it compares your table against the rows in the file. The catch is documented and easy to miss — if several rows in your CSV share the same merge value, only the first one is used. Every later row with that email or ID is dropped without a warning, so the record that lands in your base is whichever duplicate happened to be sorted first, not the most recent one. Collapse the duplicates yourself, keeping the row you actually want, before the extension decides for you.
- Stack your exports and open the combined file in the remove-duplicates tool
- Match on the column you plan to use as the Airtable merge field
- Review the flagged groups and keep the row with the freshest data
- Download the deduplicated CSV and import it
The extension ignores leading and trailing whitespace when it matches, but the comparison itself is case-sensitive. That means [email protected] and [email protected] are two different people to Airtable: instead of updating the record you already have, the import creates a second one, and now your base holds two half-complete versions of the same contact. Because email is the field most people choose to merge on, lowercasing that column before the import is the single highest-value step in this list. Do it once in the file rather than reconciling duplicate records afterwards.
- Load the CSV and select the email column you will merge on
- Lowercase the whole column and trim the whitespace a copy-paste left behind
- Flag malformed addresses so they do not import as unreachable records
- Download the cleaned CSV
Airtable's field mapping is one CSV column to one field — it auto-matches when the names line up and lets you reassign the rest, but nothing in the mapping screen splits a column. So a spreadsheet with a single Full Name column cannot fill a base that has separate First Name and Last Name fields. You either import a half-empty table and re-type it, or you split the column first. Splitting it first also lets you see the awkward rows — middle names, suffixes, two-word surnames — while you can still fix them in a preview instead of in 400 individual cells.
- Open the export and pick the column holding full names
- Split it into first and last name columns
- Check the rows flagged as ambiguous and correct them
- Download the file with headers matching your Airtable field names
Airtable's own guidance is blunt about what a CSV can carry: the format reduces all data to a single simple text field type, which you then convert into the right one from its 25-plus field types. A phone field accepts whatever string arrives, so a column mixing (415) 555-0100, 415.555.0100, and 020 7123 4567 imports without a single complaint — and then filters, groupings, and any later duplicate check treat three spellings of one number as three different numbers. Rewrite the column to one shape, ideally E.164 with a country code, while it is still a file you can preview.
- Load the CSV and select the phone column
- Set the default country for numbers that arrive without a code
- Rewrite the column to a single consistent E.164 format
- Check the rows that could not be parsed, then download
Sources
Frequently asked questions
- Does Sigmera connect to my Airtable base?
- No. There is no Airtable app, no OAuth grant, and no API key. Sigmera cleans the exported CSV inside your browser, and you import it yourself through Airtable's own CSV import extension. Nothing about your base is exposed, because nothing about your workspace is reachable from Sigmera in the first place.
- How many rows can I import into Airtable from a CSV?
- The CSV import extension takes up to 25,000 rows with a 5 MB file size cap. If your export is over the line, deduplicating usually brings it back under — stacked exports are typically inflated by repeated records rather than by genuinely distinct ones. Beyond that you have to split the file and import it in passes.
- Why did my Airtable import create duplicate records instead of updating them?
- Almost always a casing mismatch in the merge field. Airtable's merge comparison is case-sensitive, so [email protected] does not match an existing [email protected] and the import writes a new record. Leading and trailing whitespace is ignored, but nothing else is normalised for you. Lowercase the merge column before importing and the matches land.
- Why did some rows in my CSV not import?
- Two common causes. Columns you left unmapped in the field-mapping screen are not imported at all. And when several CSV rows share the same merge field value, Airtable uses only the first — the rest are discarded silently. Deduplicating on that column beforehand means you choose which row survives instead of leaving it to sort order.
- Can I import into a formula or rollup field?
- No. Computed field types cannot receive imported data: formula, rollup, count, autonumber, created time, created by, last modified time, last modified by, button, barcode, attachment, and long text with rich text enabled. Map those CSV columns to editable fields, or remove them from the file so the mapping screen stays readable.
- Why does everything arrive in Airtable as a text field?
- Because that is all a CSV can express. Airtable's own import guide notes that CSV and similar formats reduce all data to a single simple text field type, leaving you to convert each column into one of its 25-plus field types afterwards. Cleaning the values before import does not change that, but it does mean the conversion succeeds — a phone column in one consistent format converts cleanly, a mixed one does not.
- Is it safe to clean a contact list this way under GDPR?
- Cleaning in the browser is the conservative option, because the file is never transmitted. GDPR Article 5(1)(c) requires personal data to be adequate, relevant and limited to what is necessary for the purpose. An online cleaner that uploads your contact list to a server adds a processing location and a processor relationship you did not need; Sigmera adds neither, because the data stays on the device it was already on.