Skip to content

Notion to Markdown Converter

Drop the zip Notion gives you and get back a tidy folder of Markdown files, ready for Obsidian or any Markdown app. It all happens in your browser, so nothing is uploaded.

v2026.11.05

Key facts

  • Notion’s Markdown & CSV export names every file after its page plus a 32-character ID, and a big export comes as Part zips inside the zip you download.

Drop your Notion export here

The .zip as it downloads, its Part zips, or the unzipped folder.

Read in this browser. Nothing is uploaded.

Showing a sample export. In Notion: ••• → Export → Markdown & CSV, with Include subpages on.

Options[[Wiki links]] · front matter · plain tables

Links between pages

For Obsidian: [[Page]] links that match the file names, Obsidian callouts, and the file name as the title.

Database row properties

A database row’s properties go at the top of its file as YAML, which Obsidian shows as Properties.

Databases

A plain Markdown table. A CSV of every row and column goes beside it.

Sample export · the “Test Garden” workspace

8Markdown files

Clean names with no Notion IDs, [[wiki links]], 2 databases as tables and CSV, 5 images beside their pages.

Test Garden/

Images and other files go in an attachments folder beside the page that shows them. The sample has 5 images and a PDF.

Rather keep the pages in your browser?

Notion’s Markdown export has no comments, page covers or formulas, so no converter can bring those back. Terms

How to export from NotionOne page, or the whole workspace
  1. One page and what’s under it: open it, click ••• at the top right, then Export. Pick Markdown & CSV, switch on Include subpages and click Export.
  2. The whole workspace: Settings, then General, then Export all workspace content, as Markdown & CSV. Notion emails you a link when it is ready.
  3. Drop the zip here as it is. There’s no need to unzip it or its Parts first.
How this works: Method, 3 sources, Checked against 2 worked examples,

How this works

Method

The zip is read in the browser a piece at a time, Part zips included, by the same Notion importer as our Markdown Editor. Every link is matched by the Notion ID at the end of its target, file names come from each page’s own title with the IDs and the characters Windows, macOS and Obsidian refuse taken out, and the new zip is written in the browser too.

How it’s tested

2 worked examples for this page are checked by automated tests before every release: given the inputs, the tool must show the expected answer.

Limits

Notion’s Markdown export has no comments, page covers or formulas, so no converter can bring those back.

Privacy

On your device. Nothing you enter or open leaves this browser. About privacy labels

Changes

  • First published: a Notion export as a clean zip of Markdown files, with wiki or relative links, images beside their pages, databases as tables and CSV, and front matter.

Every change on What’s new

How we make toolsReport a mistake

What the converter changes

  • Names. “Garden Journal 1a2b3c4d….md” becomes “Garden Journal.md”, taken from the page’s own title rather than the file name Notion cut short. Characters Windows, macOS or Obsidian don’t allow in a name (such as : / ? # [ ]) are replaced, and two pages with the same title get a number, so every name and every link is unique.
  • Folders. A page’s sub-pages go in a folder with its name, the same tree you had in Notion. The Part zips are merged into one folder named after your workspace.
  • Links. Every link is matched by the Notion ID at the end of its target, so links work across Parts, from table cells and from properties, and even when Notion pointed a database link at a file that isn’t there.
  • Images and files. Each image, PDF or other attachment is copied into an attachments folder beside its page, under its real name, and linked with a relative path. Images pasted into a page as data are saved as files too.
  • Callouts, toggles, to-dos. Notion’s raw HTML callouts become quotes or Obsidian callouts, with Notion’s own icons swapped for a matching emoji. Empty to-dos are dropped and code blocks keep their language.

Or keep them in our Markdown Editor

If you’d rather not manage files at all, the Markdown Editor imports the same export as pages saved in your browser, with databases as sortable tables with typed columns. “Open in Markdown Editor instead” takes the export you dropped here straight to its import, without reading it twice.

More on what is inside Notion’s zip and how to clean it up by hand: Export Notion to Markdown. Notion’s own instructions are in its help centre.

Frequently Asked Questions

Is my Notion export uploaded?

No. The zip is read in your browser, a piece at a time, and the new zip is written there too. Nothing is sent anywhere, and nothing is kept once you close the tab. The address bar holds only your options, never your pages.

How do I export my pages from Notion?

For one page and everything under it: open the page, click ••• at the top right, choose Export, pick Markdown & CSV, switch on Include subpages and click Export. For the whole workspace: Settings, then General, then Export all workspace content, again as Markdown & CSV. Notion emails you a link for a workspace export. Drop the zip here exactly as it downloads.

Will the files work in Obsidian?

Yes, that is the default. Unzip the download and open the folder as a vault. Links between pages are [[wiki links]] that match the file names, a database row’s properties are front matter Obsidian shows as Properties, callouts become Obsidian callouts, toggles become folded callouts, and images sit in an attachments folder next to the page that shows them.

I don’t use Obsidian. Will it work elsewhere?

Pick Markdown links: every link becomes a standard relative link such as [Tasks](Tasks.md), each page starts with its title as a heading, callouts become quotes and toggles stay as <details>. That reads well on GitHub, in VS Code, Typora, Zettlr or a static site generator.

What happens to my databases?

Each database becomes a page with a Markdown table, the columns of the view you exported first, and its row titles linked to their pages. Next to it is a CSV of every row and column with the Notion IDs taken out of the cells. Rows you wrote notes in get their own page in a folder named after the database; empty rows live only in the table and the CSV.

What doesn’t come across?

Things that aren’t in Notion’s Markdown export to begin with: comments, page covers and icons, the formulas behind values, and the real date behind @Today. Links to pages you didn’t export stay as plain text. After converting, the page lists each of these with the page it was on, so nothing goes missing quietly.

Can it convert a whole workspace?

Usually, yes. It reads the zip without loading it all at once, opens every Part, shows progress and can be cancelled. Your browser’s memory is the limit for the new zip, and a zip must stay under 4 GB, so for a very large workspace with many images convert one top-level page at a time: untick the rest.

I exported as HTML. Can I use that?

Not here. The converter reads Notion’s Markdown & CSV export, because its pages are already Markdown and its databases come with every property. Export again and pick Markdown & CSV in the format menu. The page tells you if the zip you dropped is the HTML one.

Notion and Obsidian are trademarks of their respective owners. This converter names them only to say which files it reads and writes, and isn’t made by or affiliated with either.