Export Airtable to Excel, including the view-scoped CSV download that silently drops hidden fields and the attachment links that expire after a few hours.
Airtable has no native Excel connection. The built-in path is a CSV download that exports one view at a time, exactly as filtered, with hidden fields silently dropped. That is fine once. For a table that changes daily, the working options are the Excel Exporter marketplace app, the REST API pulled through Power Query, an automation platform, or a connector add-in that refreshes on a schedule. Here is each one, with the traps.
Method 1: Download CSV (the built-in way)
Open the table, click the dropdown arrow next to the view name, and choose Download CSV. Open the file in Excel and use File, Save As to keep it as an .xlsx.
The catch nobody mentions: the export is scoped to the view. Filters, hidden fields, and sorts all apply, so two people exporting "the same table" from different views get different files. Linked records arrive as comma-joined names, and attachments arrive as URLs that expire after a few hours. One table per file, no formulas, no formatting.
Method 2: The Excel Exporter marketplace app
Airtable's marketplace has an Excel Exporter app that exports views as real .xlsx files in two clicks, which beats the CSV-then-convert dance. Install it from the Airtable marketplace into the base, pick a view, export.
The catch: still manual, still view-scoped, and it runs inside Airtable, so the person doing the export needs base access. It solves the file format, not the repetition.
Method 3: REST API + Power Query (free, desktop Excel only)
Excel's Power Query can call the Airtable REST API directly. Create a personal access token at airtable.com/create/tokens with data.records:read scope on your base, then add a query. The API returns 100 records per request, so the query has to follow the offset cursor until it runs out:
let Pat = "YOUR_PERSONAL_ACCESS_TOKEN", BaseId = "appXXXXXXXXXXXXXX", Table = "Projects", // Airtable returns at most 100 records per call. Follow the offset // cursor until the response stops including one. GetPage = (offset as nullable text) => Json.Document( Web.Contents( "https://api.airtable.com/v0/" & BaseId & "/" & Table, [ Query = [pageSize = "100"] & (if offset = null then [] else [offset = offset]), Headers = [Authorization = "Bearer " & Pat] ] ) ), Pages = List.Generate( () => GetPage(null), (page) => page <> null, (page) => if Record.HasFields(page, "offset") then GetPage(page[offset]) else null ), Records = List.Combine(List.Transform(Pages, each _[records])), ToTable = Table.FromList(Records, Splitter.SplitByNothing()), Expanded = Table.ExpandRecordColumn(ToTable, "Column1", {"id", "fields", "createdTime"}), Fields = Table.ExpandRecordColumn(Expanded, "fields", Record.FieldNames(Expanded{0}[fields]))in FieldsThe catches: Power Query does not run in Excel for the web or on most Mac setups for web APIs, refresh happens on open or on click rather than on a schedule, and the final field expansion needs adjusting whenever the first record does not contain every column. Empty fields are omitted from the API response per record, which is what makes that last step fragile.
Method 4: Zapier or Make
Both platforms have Airtable triggers and Excel actions (the workbook must live in OneDrive or SharePoint). "New record in view" appends a row to the workbook as it happens.
The catch: these are event pipes, not sync. Edits and deletions in Airtable do not update rows already written to Excel, so the workbook drifts from the base over time. Good for append-only logs, wrong for a mirror of a table people edit.
Method 5: Brooked for Excel (scheduled full-table refresh)
Brooked for Excel connects to Airtable with a personal access token, pulls whole tables (not views) into the worksheet, handles the 100-record pagination for you, and re-imports the table so edits and deletions in Airtable are reflected rather than appended. It runs inside Excel's ribbon and works in desktop, Mac, and Excel on the web, which none of the API-based routes can say. An AI analyst is included, so "group the pipeline by status and total the deal values" is a sentence, not a pivot-table session.
Honest framing: Excel support is in beta. Manual imports and the AI analyst work today; scheduled refresh is rolling out through the beta. The same Airtable connector is fully live in the Google Sheets version.
Method comparison
| Method | Cost | Works on | Refresh | Best for |
|---|---|---|---|---|
| Download CSV per view | Free, any plan | Any Excel | Manual re-download | A one-off export of one view |
| Excel Exporter app | Airtable marketplace app | Any Excel (.xlsx download) | Manual, 2 clicks per export | Recurring manual exports as real .xlsx |
| REST API + Power Query | Free (needs a PAT) | Desktop Excel only | Refresh-on-open / manual | Analysts comfortable with Power Query |
| Zapier / Make | Paid at any real volume | Excel on OneDrive | Row-by-row on triggers | Appending new records as they arrive |
| Brooked for Excel | Free during beta | Desktop, Mac & web Excel | Scheduled (rolling out in beta) | Whole tables refreshed on a schedule |
Common use cases
- Reporting on Airtable project data with Excel pivot tables and charts
- Sharing a snapshot with stakeholders who have Excel but no Airtable seat
- Joining Airtable CRM records against revenue data already in the workbook
- Archiving weekly snapshots of a fast-changing base for trend analysis
- Feeding an existing Excel financial model from an Airtable intake table
Troubleshooting common issues
Related Articles
- How to Connect QuickBooks to Excel
- How to Connect Airtable to Google Sheets
- No-Code Data Integration for Google Sheets: Connect Your SaaS Tools Without Writing Code
Frequently asked questions
Does Airtable integrate with Excel natively?
No. Airtable has no built-in live connection to Excel; the native option is a CSV download per view. Anything live requires the REST API, an automation platform, or a connector add-in inside Excel.
Can Airtable export directly to .xlsx?
Not from the core product; the built-in export is CSV only. The Excel Exporter app in the Airtable marketplace produces real .xlsx files from a view, and connector add-ins write directly into the workbook, skipping the file download entirely.
Why is my Airtable export missing fields?
The CSV download exports the view, not the table. Hidden fields, filtered-out records, and collapsed groups are all dropped. Before exporting, switch to a view that shows every field and record you need, or pull from the API, which returns fields regardless of view settings.
How do attachments come through in an export?
As URLs. Since Airtable moved to expiring attachment links, those URLs stop working after a few hours, so a spreadsheet full of attachment links quietly goes dead. If you need the files, download them separately; if you need proof a file exists, export the filename field alongside.
Can I sync Airtable to Excel on a schedule?
Not natively. The API with Power Query refreshes when you open the workbook or click refresh, on desktop Excel. Zapier and Make push rows as events happen but do not re-sync the whole table. A connector add-in like Brooked pulls the full table on a schedule, which is the closest thing to a live mirror in Excel.
What are the API limits I will hit?
The REST API returns at most 100 records per request, so bigger tables need pagination via the offset parameter, and requests are rate limited to 5 per second per base. Personal access tokens replaced the old API keys; the token needs data.records:read scope on the base you are pulling.
Keep an Airtable table live in Excel, without the CSV loop.
Brooked for Excel is in beta and free to try. Using Google Sheets instead? Read the Sheets version of this guide.
See Brooked for Excel →

