Notion export limitations (2026): what travels, what breaks
Notion export limitations explained: what Markdown + CSV keeps, what breaks — databases, links, sub-pages — every workaround, and how to import it cleanly.
TL;DR. Notion exports your workspace as Markdown & CSV — one .md file per page, one CSV per database, sub-pages and assets in folders alongside. The format is honest and usable. What it drops is the part Notion computed for you: database views, filters, rollups, formulas, comments, and page history. Internal links get rewritten to local file paths with a 32-character ID baked in, which is where most “my links broke” reports come from. Below: exactly what travels, what doesn’t, the workarounds, and how to bring the whole thing into a team wiki without losing the tree.
Exporting from Notion is the part of leaving Notion everyone
assumes will be the easy bit, right up until the zip file lands and
the first link goes nowhere. The good news is that Notion export
limitations are well-behaved and predictable: the format does
exactly what Markdown can represent and quietly gives up on the
parts it can’t. Notion’s export is a Markdown & CSV bundle — pages
as .md files, databases as CSVs, sub-pages and files in folders.
What breaks is never random. It’s always the same handful of
things, and every one of them has a workaround.
This post walks the format block by block: what a database export contains, how sub-pages nest, why internal links point at files with a long string of hex in the name, and what never makes it into the zip. Then how to land the whole thing in a team wiki without re-typing the page tree by hand.
What a Notion export actually contains
Notion gives you three export formats from a page’s ••• menu or
Settings → export entire workspace: PDF, HTML, and Markdown &
CSV. Only the last one is a real data export. PDF flattens everything
into print pages; HTML keeps the styling for archival reading.
Markdown & CSV is the format any wiki importer wants, because it
separates content (Markdown) from structured data (CSV) the way the
rest of the tooling world expects.
Pick Markdown & CSV with Include subpages turned on, and you get a zip containing:
- One
.mdfile per page, named with the page title followed by a 32-character hex page ID. - One
.csvfile per database, holding the rows and their properties. - A folder beside each parent page holding its children, mirroring the page tree.
- An
Imageor attachment folder per page holding downloaded files.
That’s the honest core of it. The official mechanics live on Notion’s export help page, and it’s worth a read before you click — the option you pick changes what comes down.
Two smaller paths worth knowing. For a single page,
Ctrl+Shift+C (or ⌘+Shift+C) copies the page as clean Markdown
straight to the clipboard — handy for one doc, useless for a
workspace. And for programmatic access, Notion now offers a
Markdown-based content API that returns a page as a Markdown
string; if you’re scripting a migration, that skips the zip
entirely. For everyone else, the zip is the road.
Timing matters more than people expect. A very large workspace can take hours to generate — the extreme cases run to around 30 hours — and the download links expire after 7 days. Export on a Monday, remember it the following Tuesday, and you’re exporting again. Also: if you’re a guest, you need full access to the page to see the export option at all, and on Enterprise workspaces the owner can disable exporting for the whole workspace. If the menu item isn’t there, that’s usually why.
How Notion databases export — the CSV gap
Here’s the part that surprises people. A Notion database is two things at once: a store of rows, and a set of views over those rows. The export only carries the first one.
A database exports as a CSV of its rows and visible properties, plus — if you included subpages — a folder of each row’s page as Markdown. The CSV is a clean table. Open it in a spreadsheet and the columns are there. But a Notion database is rarely just a table. It’s a board grouped by status, a calendar keyed on a date property, a gallery with cover images, a timeline with dependencies. Those are views, and a view is a rendering instruction, not stored data. None of them survive.
Worse for anyone who relied on them: rollups and formulas export their last computed value, not their logic. A formula column comes out as whatever text it evaluated to at export time. A rollup that counted related tasks comes out as the number it showed, frozen. Re-import that into a tool that recomputes, and the relationship is gone — you have a snapshot, not a live field. Filters and sorts don’t export at all, because they were never content.
The honest framing: Notion’s CSV export captures the data your database held. It cannot capture the queries your database ran.
How sub-pages and nested blocks travel
Sub-pages are the part Notion handles best. Turn on Include subpages and the folder structure comes down as a faithful tree — each parent page is a Markdown file with a same-named folder of its children sitting next to it, recursively, all the way down. Skip the option and you get only the top-level pages, which is the second-most common “where did half my content go” report.
Nested blocks are where Markdown’s limits show. A toggle is a Notion-native concept; Markdown has no toggle. So nested toggles flatten — the toggle heading becomes a heading or bold line, and its hidden content becomes indented or following content. Nothing is lost; the collapse just opens permanently. Synced blocks export as a static copy at every location they appeared, because the sync was a live relationship the file can’t hold. Linked database views export wherever they were embedded, which can duplicate the same rows across several files.
| Limitation | Why it happens | Workaround |
|---|---|---|
| Database views (board, calendar, gallery, timeline) gone | Views are rendering instructions, not stored data | Rebuild views in the destination tool; the rows are intact in the CSV |
| Rollups and formulas frozen to last value | Export captures computed output, not the formula | Re-create the formula in the new tool, or accept the snapshot |
| Internal links dangle | Links rewrite to local file paths with a 32-char page ID | Import the whole workspace at once so every target exists |
| Asset links expire | Some links point at time-limited Notion URLs, not the download | Use Markdown & CSV (it downloads files) and verify the asset folders |
| Nested toggles flatten | Markdown has no toggle block | Expect open content; reformat with callouts after import |
| Comments and page history missing | Neither is part of the exported file | Archive separately if you need them before you leave |
| Zip won’t extract cleanly on Windows | Deep nesting + 32-char file IDs exceed Windows’ 260-character path limit | Extract near the drive root, or enable Windows long paths |
| Download link dead | Workspace export links expire after 7 days | Re-run the export; download every part the same day |
Why your links break — the asset and ID problem
This is the single most-reported Notion export complaint, and it has two distinct causes worth separating.
Cause one: the page ID in the filename. Notion appends a
32-character hex ID to every exported filename — Project Plan 1a2b3c...md. Internal links are rewritten to point at those exact
filenames. The system is internally consistent: export your whole
workspace and every link resolves, because every target file exists
with the name the link expects. Export a single page whose links
point at pages you didn’t include, and those links dangle. Rename
files after export — which feels tidy — and you break the references
the rewrite depends on.
The IDs have a second cost on Windows. Every level of nesting adds
a folder name plus 33 characters of ID, and a deep tree blows past
Windows’ 260-character path limit — files at the bottom silently
fail to extract or open. Unzip close to the drive root (C:\wiki\,
not C:\Users\you\Downloads\exports\notion\2026\), or enable long
paths, and the bottom of the tree comes back.
Cause two: expiring asset URLs. Markdown & CSV export downloads
your images and files into folders and rewrites links to point at
them. Good. But some content — certain embeds, or links you pasted
to Notion-hosted files — can still point at time-limited signed URLs
rather than the downloaded copy. Those work the day you export and
quietly 403 later. The fix is to verify the Image and attachment
folders actually contain the files, and to treat any link that still
starts with https://prod-files... or similar as something to
re-host.
A specific aside, because we earned it. During our own first export-format smoke tests, Bandito — who runs imports — found pages containing the raccoon emoji were sometimes exported with a rabbit emoji instead. The cause was a “small mammal normalisation” lookup table inherited from a previous employer’s emoji-CSV helper, written back when nobody on that team was a raccoon. The fix was a one-line deletion: we are an employer that includes raccoons. Silent substitution in an export is the worst kind of bug, because it looks like success — which is why we read every exporter’s character-handling carefully, ours and everyone else’s.
What never makes it into the zip
Some things aren’t limitations of Markdown — they simply aren’t in the export at all, by design:
- Comments. Every thread, gone. If a decision lives in a comment rather than the page body, copy it into the body before you leave.
- Page history. No version diffs, no revert points. The export is a single point in time.
- Permissions and sharing settings. Who could see what doesn’t travel; you re-create access in the destination.
- View configuration. Covered above — filters, sorts, grouping, and saved views are not content.
- Embedded third-party content. A Figma board or a Google Sheet embed exports as a link to the source, not the object.
- Whiteboard-style and AI blocks. No Markdown equivalent exists, so they drop or become a placeholder.
None of this is Notion being difficult. A Markdown file is text and
structure. Comments, history, and live queries are application state,
and application state doesn’t fit in a .md.
Notion’s flexibility is the feature and the failure
Here’s the opinion, and it’s the one that explains every row in that table above. Notion’s flexibility is the feature and the failure. The database-as-document abstraction — where a page can be a doc, a table, a board, and a wiki all at once — is exactly what lets a small team move fast in the first month. It is also exactly why the export is lossy and why the fortieth page is hard to find. Anything that flexible stores most of its value in views and relations that a flat file can’t hold. The flexibility doesn’t leave with you because the flexibility was never a file in the first place.
The fix on the other side of a migration is the boring kind:
spaces, labels, and a real activity feed instead of one
infinitely nestable surface. Raccoon Page renders pages with
sub-second loads and a keyboard-first surface — Ctrl+K for the
command palette, / for slash commands, 30+ shortcuts, no mouse
required — so discovery stops depending on remembering which database
a thing was buried in. You give up the shape-shifting database and
get a wiki that’s findable on the fortieth page. For a fuller
side-by-side, our Notion alternatives
roundup walks the field.
When Notion’s export is fine — and when it isn’t
Honest section, because not every team should migrate.
Notion’s export is fine, and you should stay, if: you mostly write documents rather than run databases; your team is small enough that discovery isn’t a problem yet; you use Notion for everything and a separate wiki would just be another login. A solo writer or a two-person team running Notion for docs, tasks, and the company blog does not need a corporate wiki. The export is a safety net you’ll rarely pull.
The export becomes a problem, and migration is worth it, if: your team’s knowledge lives in database views that the CSV can’t carry; new joiners spend a week learning where everything lives; or you’ve hit the point where pages get buried and updates get missed. That’s the discovery problem Notion’s flexibility creates at scale, and no export format will fix it — only a different organising model will.
If you’re staying, learn the export anyway. A wiki you can leave is a wiki you trust. Our own per-page Markdown export is one-click on every plan, for exactly that reason — you should never have to plan an escape.
Bringing a Notion export into a team wiki
The whole point of understanding the format is landing it somewhere intact. The path:
- Export as Markdown & CSV, with Include subpages on. Not PDF, not HTML.
- Download every part. Large workspaces split into multiple zips; grab them all and unzip into one folder so the tree is whole.
- Verify the asset folders hold your images and files, not just links.
- Feed the folder to an importer that understands the format.
That last step is where the page ID problem either resolves or compounds. An importer that reads the whole export at once can match the rewritten links to their target files and rebuild the tree; one that ingests pages piecemeal can’t. Raccoon Page’s Notion importer takes the unzipped Markdown & CSV export, preserves the folder hierarchy and images, and most wikis import in under ten minutes. Notion import is available on the Team and Business plans; Obsidian import is on every plan, including Free.
The honest numbers, since you’ll ask: Raccoon Page Free is $0 — three users, one space, 100 pages, no card. Team is $8/user/month and Business is $15/user/month, and the Notion and Confluence importers live on both. The full breakdown is on the pricing section.
Things people actually ask
Does Notion export to Markdown?
Yes. Notion exports a page or workspace as Markdown & CSV. Each page
becomes a .md file, each database becomes a CSV, and sub-pages and
attachments come down as folders and files alongside them. It is a
real Markdown export, not a PDF dump.
How do Notion databases export? A database exports as a CSV of its rows and properties, plus a folder of the individual row pages as Markdown if you choose the option that includes subpages. The CSV captures the table view’s columns. It does not capture board, calendar, gallery, or timeline layouts, filters, sorts, or rollup and formula logic — those are views and computed values, not stored data.
Why are my links broken after exporting from Notion? Notion rewrites internal page links to point at local file paths that include a 32-character page ID in the filename. If a target page was not part of the same export, or a tool renames files on import, those links can dangle. Links to Notion-hosted assets may also point at expiring URLs rather than the downloaded copies.
Does Notion export preserve sub-pages and folder hierarchy? Choose Include subpages and the nesting comes down as a folder tree mirroring the page hierarchy. Each parent page is a Markdown file with a sibling folder of the same name holding its children. Skip that option and you get only the top-level pages.
Do toggles and nested blocks survive a Notion export? Mostly. Nested toggles flatten into headings and indented content because Markdown has no native toggle. Synced blocks export as a static copy at each location. Linked databases export wherever they were embedded, which can duplicate rows across files.
What does a Notion export not include? Comments, page history, view configurations, permissions, and the database query logic — filters, sorts, rollups, formulas. Embedded third-party content exports as a link, not the embedded object. Whiteboard-style and AI blocks have no Markdown equivalent.
How do I move a Notion export into a team wiki? Export as Markdown & CSV with subpages included, then feed the unzipped folder to a wiki importer that understands the format. Raccoon Page imports a Notion export with folder hierarchy and images preserved, and most wikis import in under ten minutes. Notion import is available on the Team and Business plans.
Is there a file size or page limit on Notion exports? Large workspace exports are split into multiple zip parts that you download separately and recombine. Very large workspaces can take hours to generate — up to around 30 hours at the extreme — and the download links expire after 7 days, so grab every part promptly. There is no hard published page cap.
Why is the export option missing or failing in Notion? Two common causes. On Enterprise workspaces, the workspace owner can disable exporting entirely, so the menu item never appears. And guests need full access to a page or database to export it. If the export downloads but fails to unzip cleanly on Windows, deeply nested pages plus Notion’s 32-character file IDs can exceed Windows’ 260-character path limit — extract closer to the drive root or enable long paths.
Notion’s export is more honest than its reputation: it gives you everything Markdown can hold and tells the truth about the rest by simply leaving it out. The links break in predictable ways, the databases come down as their rows but not their views, and the parts that vanish were never files to begin with. Export the whole workspace, keep the tree whole, and hand it to an importer that reads the format. If it takes longer than ten minutes, that’s a bug, and we’d rather hear about it than pretend the zip was the easy bit.
Written by The Editorial Raccoon — house style for Raccoon Page. Numbers and claims pulled from product reality; jokes pulled from the Raccoon Corp canon. No raccoons were quoted in real life.