To export a Notion database to CSV, open it as a full page, click ••• at the top right, choose Export, set Export format to Markdown & CSV and click Export. Notion downloads a ZIP; unzip it and open the CSV in Excel or Google Sheets. The file holds values only: formulas and rollups arrive as results, relations as text with Notion links, and your views, filters and colors stay behind. I'd build a dedicated Export view before the first export, because the file only ever contains one view's rows.
For a one-off handoff to a client or an accountant, use the built-in export below. For a handful of rows you need right now, copy and paste them into a sheet. For a report you rebuild every week, a sync or export connection saves you from repeating the clicks. This guide is about databases; Notion's export help says a page that isn't a database exports as a Markdown file instead.
What a Notion CSV keeps, property by property
Notion's help describes only part of the file, so this section compares what 11 published sources say lands in each cell: three Notion help pages, one user report on a Q&A forum, one editorial write-up and six guides from companies that sell related tools, from sync add-ons to backup services. Each count is how many of the 11 describe that property; a source that says nothing about a property isn't counted for it.
| Property | What lands in the cell | Sources that say so | Catch |
|---|---|---|---|
| Formula | The last calculated result, as text or a number | 4 of 11 | The formula itself is gone, and the value is frozen at export. |
| Rollup | The result at the moment of export | 4 of 11 | Export again after the related pages change. |
| Checkbox | Yes or No | 2 of 11 | Words, not a spreadsheet checkbox. |
| Person | The member's name | 2 of 11 | Use an email helper if the destination matches people by email. |
| Files & media | A link to the file, not the file | 2 of 11 | Download files you need separately. |
| Select and status | The option label | 1 of 11 | Option colors don't survive. |
| Multi-select | Labels separated by commas | 1 of 11 | Split the column in the sheet if you need one label per cell. |
| Date | Text as Notion displays it | 1 of 11 | Excel may or may not read it as a date, per sync2sheets; the Due ISO helper below sets the format. |
| Rich text | Plain text; bold, links and mentions stripped | 2 of 11 | Line breaks inside a cell survive and can confuse an import. |
| Relation | Text with a Notion URL, per Notion's help; other sources differ | 8 of 11, and they conflict | See the next paragraph; the Client names helper below settles it. |
| Views, filters, sorts | Nothing; you get one view's rows and visible columns | 4 of 11 | Choose the view before you export. |
The relation cell is where the sources split: eight of the 11 describe it, and they don't agree. Three put a link in the cell. Notion's relations help says relation properties “will export as plain text URLs,” a user on Notion Answers reports the item name plus the item hyperlink, and nodi's CSV write-up describes “page links” separated by commas. Three describe names instead: sync2sheets and thebricks say the cell holds the related page titles, and breeze says the relation becomes text in which the names of the connected things survive. clonepartner says raw internal IDs, and restora's backup guide says the plain title text or, in some cases, a raw internal page ID. I'd go with Notion's wording, backed by the only first-hand user report: expect a Notion link in the cell, which that user saw after each related page's name. Then take the question off the table with a helper column, so the CSV carries exactly the names you chose. If relations are new to you, how relations and rollups connect two databases covers the basics first.

Export one database to CSV, step by step
- Open the database as a full page. If it sits inline on another page, select ⤡ at the top of the database; Notion's database basics show that control.
- Click ••• at the top right and choose Export, which may sit under More in that menu.
- Set Export format to Markdown & CSV.
- Choose Current view or Default view.
- Leave Include subpages off unless you also want each row's page content.
- Click Export, then unzip the download and open the CSV.
The full-page step decides what you get. Landmark Labs' tutorial puts it flatly: “only full-page databases can be exported as CSV files.” super.so's walkthrough likewise says to “first open the database as a full-page,” and sync2sheets warns that exporting from an inline view exports the whole page the database sits on.
The view choice decides which rows you get. Notion's export help says that when you export a database, you “can only choose between the current view and the default view,” and exporting all views at once isn't supported. sync2sheets gives the dialog labels: pick Current view “if you want the filters and sorts you are looking at, or Default view for everything.” I'd pick Current view from a view built for the export, set up in the next section, because you can see every row and column it holds before you click.
Include subpages decides what rides along with the table. With it on, sync2sheets says, “you get a zip with one Markdown file per row,” which matches the help's description of pages inside the page arriving as separate files. For a spreadsheet, leave it off. Some guides also show an Include content choice: breeze's export guide says it “exports everything or excludes files and images, which shrinks the download,” and clonepartner recommends No files & images when you only need the raw data.
super.so's walkthrough also found two files in the ZIP for one database, one with the whole page's contents and one with only the database, and saw no difference between them in its example. For a very large export, the help says Notion may email you a download link instead of starting the download.
Exporting from the mobile app
Tap ••• at the top right of the screen, scroll down and tap Export, then choose Markdown & CSV from the menu labeled Export format. The help adds that you'll also receive an email from Notion with a link to download the file.
Prepare an Export view before you click Export
I'd set the database up for export once and reuse that setup, rather than cleaning the CSV after every download. It takes one view and up to three formula columns, and it covers the two weak spots of the file: the export writes only one view, and the relation cell is the one sources disagree on.
1. Add a table view called Export
You don't need to duplicate the database. Select + next to the database name, choose Table, and name the view Export. Notion's views help describes that route and the Property visibility option under View settings, which shows or hides properties for each view; hide every property the spreadsheet doesn't need. thebricks' Excel guide recommends a dedicated Export view like this, and the Notion Answers reply gives the same advice in its own words: hide what isn't necessary, then export.
Leave filters off this view. thebricks suggests filtering out rows you don't need, while clonepartner says to build the export view with zero filters and zero sorting. I side with clonepartner, because a filter you've forgotten about is exactly how rows go missing from a CSV. If you need a subset, filter in the spreadsheet, where you can see what you removed. Adding the view costs nothing, since a view changes the presentation, not the records; your other views and the data stay as they are.
2. Add helper formula columns
Helper columns turn the cells sources disagree on into text you control. Add a Formula property for each one, paste the line, and replace the property names with yours.
prop("Client").map(current.prop("Name")).join(", ")
Client names lists the related page names from a relation called Client. Replace Client with your relation property and Name with the title property of the related database. It follows the list pattern in Notion's formula reference: map() runs on each related page, current.prop() reads a property from that page, and join(", ") turns the list into one line of text. Using map() and filter() on relations walks through the same pattern in more depth.
prop("Owner").map(name(current)).join(", ")
Owner names does the same for a person property called Owner, and it mirrors the reference's own example, prop("Pioneers").map(name(current)).join(", "). If the other tool matches people by email, swap name(current) for email(current).
formatDate(prop("Due"), "YYYY-MM-DD")
Due ISO writes the Due date as year, month and day with the tokens the formula reference lists: “YYYY” for year, “MM” for month and “DD” for day. Instead of whatever display text the export would give you, the column carries a format you picked. The result is text, not a date, so keep date math and date filters on Due itself; calculating with a date before formatting it explains why that order matters.
Once the helpers work, hide Client, Owner and Due in the Export view so the CSV carries only the clean versions. If you already have an exported file full of relation links, the Notion Answers thread suggests a spreadsheet find-and-replace: replace “ (*)”, leading space included, with nothing, which strips the link in parentheses after each name.
3. Export Current view from the Export view
Open the Export view, then run the export with Current view selected. raccoon's guide to export limits describes a database export as a CSV “of its rows and visible properties,” and the Export view now decides both.

Open the CSV in Excel or Google Sheets
The export help says you can open the CSV files in Excel, Numbers and similar apps. Double-clicking is the quick way, but sync2sheets' Excel guide says that works for simple English text. For accents, symbols or dates, use Excel's import:
- Open a blank workbook and go to Data, then From Text/CSV.
- Set File Origin to 65001: Unicode (UTF-8) so accents and symbols survive.
- Confirm the delimiter is Comma.
- Click Transform Data if a column needs a type fix, otherwise Load.
Save the sheet as an Excel workbook afterward if that's what the recipient expects. clonepartner's export guide adds that Notion exports every CSV value as text, so Excel may flag number columns with a green triangle; select them and use Convert to Number. It also warns that Excel can misread date columns, with the result changing by locale, which is one more reason for the Due ISO helper. A very large database can hit Excel's sheet limit of 1,048,576 rows by 16,384 columns, again per clonepartner; split the export into several views if yours comes close.
In Google Sheets, clonepartner's route is File > Import, the Upload tab, then the extracted CSV.
Copy a few rows from a Notion table to Excel
For a handful of rows, skip the ZIP. sync2sheets and thebricks describe the same route:
- Switch the database to a Table view.
- Click the first cell, hold Shift and click the last cell to select the range.
- Copy, switch to Excel or Sheets and paste into cell A1.
sync2sheets spells out what to expect: “Notion pastes tab-separated text, so columns land correctly. Types do not: everything arrives as text, relations paste as page titles, and anything hidden by the view's filters is left out.” I'd paste anything that fits on one screen and won't be needed again. Once you've pasted the same table twice, the Export view pays for itself.
Bring an edited CSV back into Notion
A CSV carries values back into Notion, not structure. breeze puts it well: “a CSV export is a record of its contents rather than a copy of its structure.” Notion's import help sets the rules:
- To start a new database from the file, go to Settings → Import, or type / on any page and search for the importer. Imports work on desktop and web, not on mobile.
- To add rows to an existing database, open it as a full page and choose Merge with CSV from the ••• menu at the top. The help asks for a header row first, a header for every data cell, and headers that match the database's property names exactly.
- Merges add rows. They don't update existing rows, so merging an edited copy of the whole table leaves you with duplicates; nodi's test likewise saw existing items appended as new pages.
- A new CSV import can't create relations, rollups or formulas.
- Dates import in MM/DD/YYYY format, and a column with mixed data types may come in as text.
- Garbled characters point to encoding: re-export the CSV as UTF-8.
Relations are where the reports conflict. The import help says that when you add a CSV to an existing database, you can map a CSV column to an existing relation property, and Ben Borowski at Notion Mastery wrote in February 2024 that Notion assigns relations automatically when the related page's name matches the CSV data, for existing pages only. nodi's merge test reports the opposite: relation, person and checkbox columns weren't imported. Notion's relations help adds that you can't re-import a CSV to re-establish relations with other databases. So check a few rows after any merge, and don't plan a round trip that depends on relations reconnecting. At best, a CSV round trip edits values; the structure stays in Notion.
The same limit applies on the way out of Notion. A CSV is the per-table route to another tool, and the links between tables don't travel with it. If you're moving client data elsewhere, plan the handoff and exit before importing everything.
When the export option is missing or fails
- Form view. The export help says you can't export a Form view of a database; export the questions and responses from a Table view instead.
- Export disabled. On an Enterprise workspace, an owner may have disabled export. Workspace owners turn it back on under Settings → Security by toggling off Disable export; teamspace owners go to Settings → Teamspaces → ••• next to the teamspace → Security.
- Guests. A guest needs Full access to the page or database to see and use the export option. If you're not sure which role you have, the difference between guests and members explains it.
- Windows ZIP errors. Windows doesn't handle paths longer than 260 characters by default. The help gives two fixes: uncheck Create folders for subpages before exporting, or extract the ZIP with a tool like 7-Zip.
- Printing. A full-page database can't be printed directly; the help says to export it as a PDF first and print that.
- Linked views. raccoon says linked database views export wherever they were embedded, which can duplicate the same rows across several files. Export from the source database instead, since a linked view shows the same records in another place.
Recurring exports and backups
Notion's export help describes no way to schedule an export, so the built-in route means repeating the clicks for every report. For a weekly client report, a connection can do the repeating. EasyCSV's listing in Notion's connections gallery says it exports Notion databases into CSV, XLSX and more on a schedule you set; it asks to read, insert and update the pages and databases you share with it and to read basic profile details about workspace members and guests. CSV Getter creates an export URL for a database that returns CSV, or JSON with ?type=json_records. sync2sheets, the vendor behind the Excel guide above, describes its Google Workspace add-on as keeping a Notion database and a Google Sheet identical in real time. Developers can pull the same data through Notion's API, which, per clonepartner, returns related page IDs with enough metadata to resolve them. Whichever route you pick, share only the database the report needs, and choose by destination: a spreadsheet file, a live Google Sheet or a URL another tool can fetch.
A CSV is a record of one database's values, not a backup of the project. For an archive you can restore from, follow the client project backup guide; workspace-wide export belongs there, not in a spreadsheet.
Problems and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| The ZIP holds the surrounding page instead of one database CSV | The export ran from a page with the database inline | Expand the database with ⤡ and export from the full page. |
| Rows are missing | The exported view has a filter | Export from the Export view with no filters; why a filtered view hides tasks shows how to find the filter. |
| Columns are missing | The properties are hidden in the exported view | Show them under Property visibility in the Export view, then export Current view. |
| The relation column is full of links | Expected: Notion exports relations as plain text URLs | Add the Client names helper and hide the relation. |
| A formula or rollup shows old numbers | The value froze at export | Export again after the source data changes. |
| Accents or symbols are garbled | Encoding | Import with From Text/CSV and File Origin 65001: Unicode (UTF-8). |
| Excel misreads dates or numbers | Every value arrives as text, and dates are read by locale | Use Convert to Number; export the Due ISO helper instead of the date. |
| The ZIP won't extract on Windows | The 260-character path limit | Uncheck Create folders for subpages, or extract with 7-Zip. |
| Rows are duplicated after Merge with CSV | Merges add rows instead of updating them | Merge only new rows, or delete the duplicates afterward. |
| Export is missing from the menu | An Enterprise owner disabled export, or you're a guest without Full access | Ask the owner to toggle off Disable export, or to give you Full access. |
My verdict
Build the Export view and one helper column today, export Current view, and open the file with Excel's From Text/CSV import rather than a double-click. The export handles the values; deciding which rows go out and how a relation or a date should read stays with you, and the Export view is where you make that decision once. Start with the Client names helper on your busiest relation, check the CSV, then add Owner names and Due ISO if the file needs them.
Questions that come up next
Can I export a Notion database straight to .xlsx?
No. sync2sheets puts it plainly: “There is no .xlsx option anywhere in Notion.” Export the CSV, open it through From Text/CSV and save it as a workbook.
Can I export all views of a database at once?
No. The export help says exporting all views at once isn't supported, so export each view you need in turn, with Current view selected.