How to Use Markdown in Notion: Import, Shortcuts and Export
By the MDConverter team · Updated · 5 min read
Quick answer
Notion imports Markdown directly, so there is no converter to run. In the sidebar go to Settings › Import › Text & Markdown and upload a .md or .txt file (or a .zip of them to keep folders). Headings, lists and code blocks come across; anchor links and tool-specific extensions may not. Going the other way, export a page with Export › Markdown & CSV — then run the .zip through Notion to Markdown to remove the long ID codes Notion adds to file names and links.
Import a Markdown file into Notion
- In Notion’s sidebar open Settings, then Import, then Text & Markdown.
- Choose your
.md,.markdownor.txtfiles. You can pick several at once. - To keep a folder structure, zip the folder and import the .zip: each Markdown file becomes a page.
Import works on desktop and the web, not on mobile yet. Each file can be up to 5 MB on the Free plan and 50 MB on paid plans, and Notion limits imports to about 120 files every 12 hours, so a large archive is best imported as a few smaller .zip files.
Check these after importing. Notion’s own guidance is that anchor links and non-standard Markdown extensions may not import cleanly. In practice that means a table of contents made of [text](#heading) links will not jump anywhere: replace it with Notion’s own table of contents block (type /table of contents). Notes written for another tool — Obsidian [[links]], callouts, ==highlights== — come in as the characters you typed.
Opening a Markdown file in Notion Desktop (instead of importing it) shows it with Notion’s formatting as a read-only copy.
Prepare Markdown so it imports cleanly
Standard Markdown is what imports best. Before importing text from another tool:
- From ChatGPT or Claude: save the answer as a .md file (paste it into a text editor and save with the .md extension) or paste it straight into a Notion page. Tables, headings and lists are standard Markdown.
- Tidy the file first with the Markdown Formatter: it fixes mixed bullet styles, skipped heading levels and uneven tables, which are the things that most often import oddly.
- Plain notes and emails: Text to Markdown turns pasted text into headings, lists and tables before you import it.
- Remove or replace tool-specific syntax: Obsidian links, callouts and comments, wiki markup from Jira or Confluence, Discord or Slack formatting. If your source is Jira or Confluence, convert it to Markdown first with Jira to Markdown or Confluence to Markdown.
- Replace anchor links with Notion’s table of contents block after import.
Markdown shortcuts when typing in Notion
Notion turns Markdown you type into blocks as you go:
| Type this | You get |
|---|---|
#, ##, ### and a space |
Heading 1, 2 or 3 |
-, * or + and a space |
Bulleted list |
1. (or a., i.) and a space |
Numbered list |
[] |
To-do checkbox |
> and a space |
Toggle list (not a quote) |
" and a space |
Quote block |
--- |
Divider |
**bold**, *italic*, \code`, |
Inline formatting |
One difference catches people out: in Markdown > starts a quote, but typing > in Notion starts a toggle. For a quote, type " followed by a space. A Markdown file imported with > lines is read as Markdown, so those lines arrive as quotes.
Export a Notion page to Markdown
Open the page’s ⋯ menu (or the workspace settings for a whole export), choose Export, and set the format to Markdown & CSV. You can include subpages and choose whether subpages get their own folders (turn that off if Windows cannot open the .zip because of long paths).
What you get:
- Each page becomes a
.mdfile; a full-page database becomes a.csvfile with a Markdown file for each of its pages. - Callout blocks are exported as HTML, because Markdown has no equivalent — Notion says so itself.
- File and folder names end in a long ID code (
Project plan 3c4d…e9.md), and links between pages use the same encoded names.
Those codes make the files awkward in Obsidian, Git or a static site. Notion to Markdown removes them, rewrites every link and image path to match, turns callouts into GitHub-style alerts (> [!TIP]), and can merge the whole export into one document — it works in your browser, so the export is not uploaded.
Moving between Notion and other tools
- Notion → Word, PDF or Google Docs: Notion exports a page to PDF itself. For Word or Google Docs, clean the Markdown export with Notion to Markdown, then use Markdown to Word or Markdown to Google Docs.
- Notion → Obsidian: export as Markdown & CSV, clean the .zip with Notion to Markdown, and unzip it into your vault. See the Obsidian export guide for the other direction.
- Notion → HTML or a website: the cleaned Markdown works with any static-site generator; Markdown to HTML gives a standalone page.
- Notion → OneNote: clean the export as above, then paste the Markdown into Markdown to OneNote and copy the result into OneNote.
- Anything → Notion: convert to Markdown (this site has converters for Word, HTML, PDF, Jira and others), then import it as above.
What Notion does with Markdown
Where Markdown works in Notion, and where it does not.
| App | Supported | Notes |
|---|---|---|
| Import (Settings › Import › Text & Markdown) | Yes | .md, .markdown, .txt and .zip. Desktop and web; not mobile. 5 MB (Free) or 50 MB (paid) per file. |
| Typing Markdown shortcuts | Partly | Headings, lists, to-dos, code, dividers and inline formatting work; > makes a toggle, not a quote. |
| Anchor links ([text](#heading)) | No | May not import. Use a table of contents block. |
| Tool-specific extensions | No | Obsidian links and callouts, wiki markup and similar may not import cleanly. |
| Export (Markdown & CSV) | Partly | Pages as .md, databases as .csv. Callouts are exported as HTML; file names carry ID codes. |
Common mistakes and how to fix them
| Problem | Fix |
|---|---|
| Table of contents links do nothing after importing | Notion does not import anchor links reliably. Delete the list and add Notion’s own table of contents block. |
| Pasting Markdown text into a page leaves symbols like ## and ** in the text | Import the text as a file instead (Settings › Import › Text & Markdown), which reads it as Markdown. |
| Notion’s exported file names and links are full of long codes | Run the .zip through Notion to Markdown, which removes the codes and keeps the links between pages working. |
| Callouts in the export appear as | That is how Notion exports them. Notion to Markdown converts them to GitHub-style alerts such as > [!TIP] or > [!WARNING], which render as labelled quotes. |
| A large .zip fails or only partly imports | Split it into smaller .zip files, zip a folder rather than loose files, and import again. |
Tools for this
Frequently Asked Questions About Markdown in Notion
Comprehensive answers to common technical, formatting, security, and compatibility questions.
# and - works as you type, but for a whole file the import route is the dependable one. If pasted text arrives with the symbols still in it, import the file instead.> is a toggle list; a quote is " followed by a space. Imported Markdown is parsed as Markdown, so > lines become quotes. See Markdown blockquotes for the standard syntax.Related reading
- How to Export Obsidian Notes to Word, PDF and Google Docs — Word, PDF and Google Docs from an Obsidian note — and what happens to [[links]], callouts and embeds.
- Jira Formatting: Markdown vs Wiki Markup — Markdown in Jira Cloud, wiki markup in Data Center — what each accepts and how to convert.
- Markdown Flavors: CommonMark vs GitHub Flavored Markdown and More — Why the same Markdown renders differently, and what each major flavor adds.