Move from Notion to Obsidian
Use Obsidian's Importer plugin; it strips the page IDs and rebuilds the links for you. Use the API route when databases matter and the HTML zip route for a whole workspace in one go. Fall back to a Markdown & CSV export and the Notion export cleaner only when the Importer fails or you want plain files without the plugin.
The chain
- 01
Choose a route
Use the API route if your databases matter. Use the HTML zip route to bring a whole workspace over in one go. Keep the cleaner as the fallback. Use it when you already have a Markdown & CSV export, the Importer fails or freezes, or you want plain Markdown files without the plugin.
You get: One route picked, so you only export once.
- 02
API route
In Notion, open the Connections dashboard (app.notion.com/developers/connections), click New connection, name it, set authentication to Access token and Installable in to your workspace, and click Create connection. On the Configuration tab, click Show and copy the token (it starts with ntn_), and save it in a password manager. On the Content access tab, add the pages and databases to import. In Obsidian, install the Importer from Community plugins, set File format to Notion (API), click Link... under API token, click Load to pick pages, and click Import twice.
You get: Pages in your vault, with databases and formulas converted to Bases.
- 03
HTML zip route
In Notion, go to Settings, then General under Workspace, then Export all workspace content. Pick HTML, Include everything, and turn on Create folders for subpages. In Obsidian's Importer, set File format to Notion (.zip), choose the zip, turn on Save parent pages in subfolders, and click Import twice. Import all of your Notion at once so internal links line up.
You get: The whole workspace in your vault from one export.
- 04
If the import fails
If you see "Import failed {id}.zip/{id}-Part-1.zip undefined", unzip the Notion file and import the nested Export-{id}-Part-1.zip files instead. If Obsidian seems to freeze during the import, disable community plugins and try again.
You get: A large export that imports instead of stalling.
- 05
Fallback: clean a Markdown export
Export as Markdown & CSV with Include subpages on. Open the Notion to Markdown tool, switch to Clean export (.zip), turn on Obsidian [[wiki links]], and drop the zip in. Unzip the result into your vault folder.
You get: Plain Markdown files with page-title names and [[wiki links]] that resolve in Obsidian.
- 06
Check the vault
Open a few pages and click the links between them. Check that images and attachments landed in the folder you expect. Open one database folder and its .base file. Expect comments to be missing, since the Importer does not carry them over.
You get: A vault you have spot-checked before you cancel Notion.
The prompt for the thinking step
Spot-check the imported vault
Paste the folder tree of your new vault. Works in Claude, ChatGPT, or any assistant.
I just moved my Notion workspace into an Obsidian vault. Here is the vault's folder tree: <tree> [PASTE THE FOLDER TREE HERE] </tree> I used this route: [API route / HTML zip route / cleaned Markdown export]. Return a short checklist of the pages and folders I should open by hand, with one line each on what to check. Rules: 1. Pick at most 10 items. Favor pages with many subpages, database folders with a .base file, and folders full of attachments. 2. Flag file names that still end in a 32-character hex ID. Those links may be broken. 3. Flag attachments that sit in the vault root instead of next to their pages. 4. Remind me that comments are not imported, so I should copy any I need from Notion first. 5. Do not invent files that are not in the tree.
Run it now
Convert Notion exports to clean Markdown. Paste text, or upload a full Notion export .zip to remove IDs from file names, fix links, turn databases into tables, and get Obsidian wiki links.
Open the Notion export cleaner (fallback)Questions people ask
Do I need to clean up a Notion export before importing into Obsidian?
No, if you use the Importer. It strips the IDs and rebuilds the links. Yes, for a raw Markdown & CSV export, because every name carries a 32-character ID and renaming files by hand breaks the links.
Should I export as HTML or Markdown for Obsidian?
HTML, if you use the Importer's zip route. Obsidian's help page says to use HTML as the export format in Notion, not Markdown. Use Markdown & CSV only for the cleaner fallback.
Which route keeps my databases?
The API route converts databases and formulas to Bases. It imports only the primary view of each database, and linked data sources are not imported.
Does the cleaner upload my export?
No. The Notion export cleaner runs in your browser and builds the clean zip there.
More tools for “Move your content out of Notion”
Export the workspace, clean the zip, and land the pages in the app you are moving to.
Other workflows
- Turn Jira tickets into release notes
- Prep your sprint review from Jira in 5 minutes
- Publish a Markdown doc to Confluence without breaking the formatting
- Turn a Jira ticket into a publishable document
- Turn meeting notes into Jira tasks
- Standardize git changes before opening a pull request
- Move out of Notion without losing your pages