- Getting started with Airtable
- Introduction to Airtable basics
- Contacting Airtable Support Updated
- Airtable home screen
- Glossary of Airtable terminology
- Airtable technical requirements
- Feature differences between Airtable on desktop and mobile
- Airtable keyboard shortcuts
- Using Markdown in Airtable
- Adding descriptions in Airtable
- Finding Airtable IDs
- Airtable Automations
- Automations Overview
- Automation feature walkthroughs
- Integrated automation walkthroughs
- Airtable automation walkthroughs
- Linking existing records using automations
- Conditional groups of automation actions
- Repeating groups of Airtable automation actions
- Creating recurring records using automations
- How to delay Airtable automation runs
- Prevent automations from triggering by mistake
- Use automations to timestamp status updates
- Automation Triggers
- Airtable Triggers
- Airtable automation trigger: When record matches conditions
- Airtable automation trigger: When a form is submitted
- Airtable automation trigger: When record created
- Airtable automation trigger: When record updated
- Airtable automation trigger: When record enters view
- Airtable automation trigger: At scheduled time
- Airtable automation trigger: When webhook received
- Airtable automation trigger: When a button is clicked
- Airtable automation trigger: When email received Updated
- Integrated Triggers
- Airtable Triggers
- Automation Actions
- Airtable Actions
- Airtable automation action: Send email Updated
- Airtable automation action: Create record
- Airtable automation action: Update record
- Airtable automation action: Find records
- Airtable automation action: Sort list
- Airtable automation action: Run a script Updated
- Airtable automation action: Generate with AI
- Integrated Actions
- Airtable automation actions: Slack
- Airtable automation actions: Google Workspace
- Airtable automation action: Send MS Teams message
- Airtable automation actions: Outlook
- Airtable automation actions: Jira Cloud
- Airtable automation actions: Jira Server / Data Center
- Airtable automation actions: Salesforce
- Airtable automation action: Create post in Facebook Pages
- Airtable automation actions: GitHub Issues
- Airtable automation action: Hootsuite post
- Airtable automation action: Send Twilio SMS
- Airtable Actions
- Airtable Bases
- Using Airtable Cobuilder
- Airtable bases overview
- Creating and managing Airtable bases
- Structuring bases in Airtable
- Moving bases between workspaces in Airtable
- Creating and managing tables in Airtable
- Creating Airtable base share links
- Importing third-party data into Airtable
- Using insights in Airtable
- Troubleshooting Airtable base performance
- Airtable Betas
- Collaborating in Airtable
- Airtable Enterprise Support
- General Enterprise information
- External badging in Airtable
- Using app library and components in Airtable Updated
- Ask an Expert beta overview
- European data residency at Airtable
- Airtable user groups overview
- Airtable Enterprise API
- Creating and managing data retention policies in Airtable
- eDiscovery APIs in Airtable
- Airtable and data loss prevention
- Accessing Enterprise audit logs in Airtable
- Set up Jira Server / Data Center to connect with Airtable
- Admin panel pages
- Airtable admin panel overview
- Users - Airtable enterprise admin panel
- Airtable admin panel user details
- Groups - Airtable admin panel
- Workspaces - Airtable Enterprise Admin Panel
- Bases - Airtable admin panel
- Interfaces - Airtable admin panel
- Data sets - Airtable admin panel
- Managed apps - Airtable admin panel
- Components - Airtable admin panel
- Reports - Airtable admin panel
- Settings - Airtable admin panel Updated
- Managing Enterprise organizations
- Managing Enterprise admins in admin panel
- Using Organizations
- Organization branding for apps in Airtable
- Enterprise Hub in Airtable
- Enterprise Hub: Org unit assignment with user groups Updated
- Deactivating, removing access, and reactivating users in the admin panel
- Managing user access to workspaces and bases
- Airtable Enterprise Key Management Updated
- Custom terms of use New
- Enterprise SSO
- General Enterprise information
- Airtable Extensions
- Airtable Fields
- Fields Overview
- Attachment
- Date-based fields
- Formula
- Getting Started with Formulas
- Formula Foundations
- The essentials of Airtable formulas
- Formula writing tips for beginners
- Troubleshooting formulas
- Basic calculations
- Conditional statements
- Logical arguments
- Working with dates
- Displaying DATETIME_FORMAT using the date field in Airtable
- Working with date functions in Airtable
- Calculating the difference between dates in Airtable
- Supported DATETIME_DIFF unit specifiers in Airtable
- Supported DATETIME_FORMAT format specifiers in Airtable
- Using the DATETIME_PARSE() formula in Airtable
- Working with timezones
- Record functions
- Text functions
- Numeric functions
- Common Solutions: Beginner
- Common Solutions: Intermediate
- Common Solutions: Advanced
- Long Text Field
- Linked Record Field
- Linking records in Airtable
- Limiting linked record selection to a view in Airtable
- Dynamic filtering in linked record fields
- Linking to one, many, or a subset of Airtable records
- Converting existing fields to Airtable linked records
- Reordering record links in Airtable
- Understanding linked record relationships in Airtable
- Number-Based Fields
- Other Fields
- Rollup, lookup, and count fields
- Select and user fields
- Integrating with Airtable
- API
- Getting started with Airtable's Web API
- Creating personal access tokens
- Airtable Webhooks API Overview
- Service accounts overview
- Airtable Web API - Using filterByFormula or sort parameters
- Airtable API Deprecation Guidelines
- Airtable API: Common troubleshooting
- Managing API call limits in Airtable
- URL length limitations for web API requests
- Integration services
- Third-party integrations via OAuth overview
- Troubleshooting disconnected OAuth integrations in Airtable
- Options for integrating with Airtable
- Third-party integrations - Common troubleshooting
- Low-code integrations - Common troubleshooting
- Integrating Airtable with external calendar applications
- Visualizing records from Airtable in Tableau
- Visualizing Airtable records in Microsoft Power BI & Power Query
- Integrating HubSpot with Airtable
- Using Zapier to integrate Airtable with other services
- Using Zapier's Multi-Step Zaps to find and update records
- Using IFTTT to integrate Airtable with other services
- Integrating with AWS Lambda & DynamoDB
- Developer tools
- API
- Airtable Interface Designer
- Interface Designer overview articles
- Interface layouts
- Interface elements
- Adding and removing elements in interfaces
- Adding layouts to interfaces
- Formatting elements in interfaces
- Interface element: Button
- Interface element: Calendar
- Interface element: Chart
- Interface element: Filter
- Interface element: Gallery
- Interface element: Grid
- Interface element: Kanban
- Interface element: Number
- Interface element: Record picker
- Interface element: Text
- Interface element: Timeline
- Learning and Resources
- Managing Airtable
- Airtable Policy
- Airtable Records
- Airtable Sync
- Airtable Views
- Airtable Workspaces
- Print
- Share
- DarkLight
- PDF
All paid plans | |
| |
Platform(s) | Web/Browser, Mac app, and Windows app |
Related reading | |
Extension - Extensions are modular components that add visuals or functionality to a base, and were shown in the base's dashboard. Users can create custom extensions, or they can use extensions created by Airtable or other open-source extensions. |
Install the CSV import extension
NOTE
The CSV import extension row limit is limited to 25,000, and CSV imports are limited to 5MB. Suppose your data set grows beyond the limitations. In that case, we recommend splitting your information into multiple bases and then syncing it into one base as needed. Read more about Airtable sync and multi-source sync for additional information.
With the CSV import extension, you can add new records to an existing table in your base - or merge data with existing records - directly from a CSV file. The CSV import extension has a 25,000-row limit.
Open the extensions dashboard by clicking the "Extensions " button at the top right of your base, and then clicking "Install an extension ". You can then search for and install the CSV import extension.
Drag and drop a CSV file
After installing a CSV import extension, you can drag and drop a CSV file into the extension. After your file gets uploaded, you'll be brought to a screen where you can map exactly how the information from the CSV gets put into your table.
Note
Before importing data into your base, we recommend taking a base snapshot. This will let you restore a version of your base from a point in time.
Configure settings and field mappings
After you've uploaded your CSV file into the extension and selected which table you want to import into, you'll need to configure a few settings.
Merge with existing records
If you want to create new records with your CSV data, keep this option toggled off. If you want to merge your CSV data with your existing records, toggle the option on and continue reading below.
To merge CSV data with existing records you'll need to pick a field on which to merge records (ideally containing a unique value like an ID number or email address, for example). The extension will then compare the records in your table with the rows in your CSV, find matches using the field you selected, and update the values in the table according to the contents of the CSV file.
Matching for the field you select will be case-sensitive; for example, the extension will consider "sampleemail@example.com" and "SampleEmail@example.com" to be two different values. However, leading and trailing whitespace will be ignored when finding matches.
Once you pick a field, the extension will display previews for the records to be updated. If the CSV being imported contains rows which have no matches in the table, the extension will create new records. The bottom of the extension window will show the number of records that will be updated, the number of records that won't change, and the number of new records that will be created (if any).
If your CSV contains blank or inconsistent values, you can choose to ignore those fields when importing by toggling the option to "Skip blank or invalid CSV values":
A few other notes on the updating process:
If the CSV file contains multiple rows which contain the same value for the merge field, the extension will only use the first of those rows, and subsequent rows will be ignored.
If the table has multiple records, all of which contain the same value for the merge field, all of those records will be updated if there's a matching row in the CSV file.
If the CSV contains any rows where the value in the merge field is blank, a new record will be created.
Note
If you merged your data incorrectly, you can revert your base to a previous version by restoring a base snapshot. Learn more about this feature in this article.
Skip blank or invalid CSV values
If you toggle on the "Merge with existing records" option (more details on that option below ), another option will appear to "Skip blank or invalid CSV values". This option is helpful if your CSV file might have any blank rows - instead of overwriting existing Airtable records with blank rows, it will skip these rows in the CSV import.
First row of the CSV file is headers
The extension will automatically try to detect if the first row of your CSV is comprised of headers or not, and check the "First row of CSV file is headers" option accordingly. If this option is checked, the columns in the field mappings section of the extension will be named after the CSV's column headers.
If this option is not checked, the columns in the field mappings section of the extension will be given generic names like Column, 1, 2, 3, and so on.
Field mappings
The left side of the Field mappings section (with the toggles) shows the fields in your table, and the right side (with the dropdowns) shows the columns of the CSV. If the columns of your CSV and names of the fields in your table have matching names, the extension will automatically try and match them. Otherwise, you can map the columns of the CSV to whichever fields you'd like.
To map a value, select the field toggle, then choose a CSV column from the dropdown menu. Repeat this process for as many fields as you want.
Note that you don't have to import any fields you don't need to, and the order and names of the fields in your CSV don't necessarily have to match the order and names of the fields in your Airtable base.
Create missing select options
There is also a setting to create missing select options. Toggling this option on means that if there is a single or multiple select field in your table, then the new option will be created. Leaving this toggle off means that new options will not be created. Pay close attention to field mappings as well as how this setting may be affected by the " Merge with existing records " option mentioned above.
Resetting field mappings
The extension will remember your field mappings the next time you import another CSV, speeding up the process if you plan on importing CSVs again and again as part of your workflow.
However, if you are importing a new CSV file, or if the table where you intend to import has changed, you may want to reset the field mappings using the current CSV and table.
To do so, click the "Reset" button - this performs the field name to CSV header name matching that occurs the first time you use the CSV Import extension , however this time it uses the current CSV and table.
Preview sample records
As you alter the field mappings, you can look at the right side of the extension, which shows samples of the records that will be created according to the specified mappings.
Previewing the records that will be created will likely be your last step before you import your CSV data.
Import CSV data
Once you've configured your settings and field mappings, you're ready to import your CSV data. Click the "Create records" button to start importing data into your table. This may take a few seconds to a few minutes depending on the amount of information you're importing.
FAQs
How many rows of data can I import?
The CSV import extension has a 25,000 row limit.
Should I do anything before importing CSV data?
Yes - we recommend taking a base snapshot before importing any data into your base.
Are any field types incompatible with CSV or XLS file importing?
Yes, generally computed field types are unsupported. The following field types are unsupported:
Attachment
Autonumber
Barcode
Button
Count
Created by
Created time
Formula
Last modified by
Last modified time
Long text (unsupported when the “Enable rich text formatting” setting is toggled on)
Rollup