Pricing

How to Connect Supabase to Excel

SupabaseSaved SearchDateDocumentAmount07/01INV-40214,280.0007/02INV-40221,860.5007/05INV-40239,140.0007/08INV-40242,375.2507/09INV-40256,902.7507/12INV-40263,118.40BrookedABCDateDocumentAmount123456707/01INV-40214,280.0007/02INV-40221,860.5007/05INV-40239,140.0007/08INV-40242,375.2507/09INV-40256,902.7507/12INV-40263,118.40ExcelSupabase report
JW
James Whitfield

Supabase direct connections are IPv6-only by default, which breaks Excel Power Query silently. Use the session pooler on port 5432 instead.

Supabase is hosted PostgreSQL, so you have four ways to get data into Excel: Power Query's PostgreSQL connector, the dashboard's CSV export, the PostgREST REST API via Power Query's web connector, and a connector add-in. The main gotcha is the connection string. Supabase's direct connection is IPv6-only on most projects, and Excel Power Query on Windows does not handle IPv6 reliably, so the connection times out without a clear error. The fix is to use the session pooler connection string from the Connect panel in your Supabase dashboard. Here is every method with the specifics each one requires.

Method 1: Power Query PostgreSQL connector with the session pooler

In Windows desktop Excel, go to Data, Get Data, From Database and choose From PostgreSQL Database. Before this option connects, install Npgsql version 4.0.17 (not 4.1 or later) with GAC Installation selected. Then:

  1. In your Supabase dashboard, click Connect at the top of the project page and choose Session pooler.
  2. Copy the connection string. It will look like postgres://postgres.[project-ref]:[password]@aws-[region].pooler.supabase.com:5432/postgres.
  3. In Power Query, enter the host portion (aws-[region].pooler.supabase.com) as the server and postgres as the database. Use the username in the format postgres.[project-ref] for authentication.

The catch: Windows desktop Excel only. Do not use the direct connection string (db.[project-ref].supabase.co) because it resolves to IPv6 on most projects and silently fails in Power Query. Do not use the transaction pooler on port 6543 either, because it does not support prepared statements and will break the connection. The session pooler on port 5432 is the correct choice.

Method 2: CSV export from the Supabase Table Editor

In the Supabase dashboard, go to Table Editor, open the table you want, click the Export button (usually in the top-right of the table view), and choose CSV. Open the file in Excel. For custom queries, use the SQL Editor, run your query, and use the download button above the results grid to get a CSV.

The catch: every refresh is a manual repeat of the process. Works on any platform, including Mac and web Excel, because you are just opening a file. Fine for one-off snapshots.

Method 3: PostgREST API via Power Query Web.Contents

Supabase exposes every table through a PostgREST REST API. You can query it from Power Query using the Web connector. In Windows desktop Excel, go to Data, Get Data, From Other Sources, From Web, enter the URL for the table you want, and add the required headers. The anon key from your Supabase project settings provides read access to tables with a permissive Row Level Security policy.

A Power Query M query for a Supabase table looks like this:

let
    url = "https://[project-ref].supabase.co/rest/v1/your_table?select=*",
    headers = [
        #"apikey" = "your-anon-key",
        #"Authorization" = "Bearer your-anon-key"
    ],
    response = Web.Contents(url, [Headers = headers]),
    json = Json.Document(response),
    table = Table.FromList(json, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    expanded = Table.ExpandRecordColumn(table, "Column1", Table.ColumnNames(Table.FromRecords(json)))
in
    expanded

Replace [project-ref], your_table, and your-anon-key with your project values. The anon key is in Project Settings, API.

The catch: Windows desktop Excel only (the Web connector works there). PostgREST returns 1,000 rows by default; add &limit=10000 to the URL or paginate with &offset= for larger tables. Also, RLS must be set up correctly for the anon key to read the table you want.

Method 4: Brooked for Excel (Mac, web, and scheduled refresh)

Brooked for Excel connects to Supabase as a standard Postgres database, using the session pooler connection string from your project's Connect panel. It runs inside Excel's ribbon and works in desktop Excel on Windows, desktop Excel on Mac, and Excel on the web. No Npgsql install, no driver architecture mismatch, no IPv6 troubleshooting. The AI analyst lets you ask plain-English questions about the data.

Honest framing: Excel support is in beta. Manual imports and the AI analyst work today; scheduled refresh is rolling out through the beta. The Google Sheets version of the connector is fully live, so the Supabase and Postgres plumbing itself is mature.

Setting up the Supabase connection

Open Brooked in the Excel ribbon, choose Supabase or PostgreSQL as the source, and paste the session pooler connection string from your Supabase project's Connect panel. Pick the tables or write a SQL query, choose the destination sheet, and import. For scheduled refresh, configure the interval in the Brooked settings panel once that feature is available in the beta.

BrookedBrooked AI, Supabase
Live
Ask anything about your Supabase data…

Method comparison

MethodCostWorks onRefreshBest for
Power Query PostgreSQL connector (session pooler)Free (requires Npgsql v4.0.17)Windows desktop Excel onlyRefresh All in Power QueryWindows with Npgsql installed; use session pooler URL
Dashboard Table Editor CSV exportFreeAny ExcelManual re-exportQuick table snapshots without any setup
PostgREST API via Power Query Web.ContentsFreeWindows desktop Excel onlyRefresh All in Power QueryDevelopers comfortable writing M queries
Brooked for ExcelFree during betaDesktop, Mac and web ExcelScheduled (rolling out in beta)Mac, web Excel, and hands-off refresh

What teams build with this

  • User growth dashboards pulling signup and churn data from Supabase into a formatted Excel workbook
  • Revenue reports joining orders, subscriptions, and refund tables for a weekly finance review
  • Support queue snapshots from a Supabase-backed help desk, refreshed each morning for the ops team
  • Content moderation summaries showing flagged items by type and status, updated daily
  • A/B test result tables exported from a Supabase experiment log for analysis in Excel pivot tables

Troubleshooting common issues

Frequently asked questions

Why does my Supabase connection fail silently in Excel Power Query?

The most likely cause is that you used the direct connection string, which points to an IPv6-only address on most Supabase projects. Excel Power Query on Windows tries IPv4 first or only, and the connection times out without a useful error message. Use the session pooler connection string from the Connect panel in your Supabase dashboard instead. It resolves to an IPv4 address and uses the same port 5432.

What is the difference between the Supabase session pooler and the transaction pooler?

Both are run by Supavisor, Supabase's connection pooler. The session pooler on port 5432 gives each connection a dedicated backend session and supports prepared statements, making it compatible with tools like Power Query and ODBC. The transaction pooler on port 6543 shares connections between queries and does not support prepared statements, which breaks most desktop database tools including Excel. Use the session pooler for Excel connections.

Can I connect Supabase to Excel on a Mac?

Not with Power Query or ODBC. Both depend on Windows drivers. On a Mac, the options are exporting CSV from the Supabase Table Editor or using the PostgREST REST API with a tool that runs on Mac, or using a connector add-in like Brooked that supports Excel for Mac natively.

Can I connect Supabase to Excel on the web?

Power Query database connectors do not work in Excel on the web. You need a manual export or an add-in. Brooked for Excel works in the web version of Excel and connects to Supabase's underlying Postgres database.

Does Supabase have a direct Excel add-in?

Supabase does not publish an official Excel add-in. The official integrations are PostgREST for REST access, the JavaScript and other client libraries, and the standard Postgres connection string for direct database access. For Excel specifically, the options are Power Query via the Npgsql-backed PostgreSQL connector, the PostgREST API via Power Query Web.Contents, CSV exports, or a third-party add-in.

Can Supabase data refresh automatically in Excel?

Refresh All in Power Query re-runs the query when you click it, but Excel has no built-in scheduler. Unattended refresh requires a macro on a machine that stays awake, or a connector add-in. Brooked for Excel is rolling out scheduled refresh through its beta.

How do I export all data from Supabase to a file?

For individual tables: go to the Supabase Table Editor, click the three-dot menu next to the table, and choose Export Table as CSV. For custom queries: use the SQL Editor, run your SELECT statement, and click the download button above the results. For a full database dump, use pg_dump with the direct connection string. For a single table via the API, query the PostgREST endpoint with a high limit and save the JSON or CSV response.

Get live Supabase data in Excel, on any platform.

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 →

Also in Excel

More Excel guides

Excel

How to Connect QuickBooks to Excel

Every way to get QuickBooks data into Excel, including the Spreadsheet Sync feature locked to the priciest plan and the report headers that break pivot tables.

JW
James Whitfield
Read
Excel

How to Connect Airtable to Excel

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.

JW
James Whitfield
Read
Excel

How to Connect MySQL to Excel

MySQL for Excel still ranks first on Google, but Oracle archived it in 2020. The methods that work today, including which run on Mac and web Excel.

JW
James Whitfield
Read

Get your spreadsheet hours back

Brooked sets up in seconds. Your team is querying live data before lunch.