Pricing Dashboard Sign up
Recent
· 8 min read · MDisBetter

Import Word Documents to Notion via Markdown (Step-by-Step)

Notion has a native Word importer. It mostly works on simple documents — and falls apart on anything with tables, nested lists, footnotes, or careful heading structure. The result: imported docs that look right in preview but turn into broken blocks the moment you try to edit them. There's a better path: Word → Markdown → Notion. Markdown is Notion's native lingua franca; every Markdown construct maps cleanly to a Notion block. Here's the workflow that actually preserves your formatting.

Why Markdown beats Notion's native Word import

Notion stores everything as block trees: paragraph blocks, heading blocks, list blocks, toggle blocks, table blocks, code blocks. Markdown maps to those blocks one-to-one — H1 becomes a Heading 1 block, - item becomes a Bulleted List Item block, a fenced code block becomes a Code block with the right language.

Word's internal format doesn't map cleanly. When Notion imports .docx directly, it has to interpret Word styles, paragraph spacing, list numbering, table cells, and embedded objects — and the heuristics frequently get it wrong. Common failures: H2-styled paragraphs become plain paragraphs, nested lists flatten, tables become plain text, code samples lose their monospace styling, footnotes vanish entirely.

Going through Markdown removes the ambiguity. The .md file is explicit: this line is a heading, this block is a table. Notion's Markdown import has nothing to guess at.

Step 1: Convert the Word document to Markdown

Use the MDisBetter Word to Markdown converter: drop the .docx, click Convert, download the .md. Takes about 30 seconds.

For multiple files, you can either run them through the web tool one at a time (still fast for under 20 docs) or install Pandoc locally for batch — see convert multiple Word documents for the bash one-liner.

Step 2: Open the .md and review

Before importing, open the .md in a text editor and skim. You're looking for:

If anything looks wrong, run the .docx through the web tool a second time, or use Pandoc as an alternative — sometimes one converter handles a quirky doc better than the other. See MDisBetter vs Pandoc.

Step 3: Import into Notion

In Notion:

  1. Open the page where you want the import to land (or create a new one)
  2. Click the three-dot menu in the top-right corner
  3. Select Import
  4. Choose Markdown & CSV
  5. Pick your .md file
  6. Notion creates a new sub-page with the imported content

The import takes 1-3 seconds. Open the resulting page and verify: headings should be Notion heading blocks (not plain text), lists should be proper bullet/numbered list blocks (try Tab/Shift-Tab to confirm nesting works), tables should be Notion table blocks (not text), code blocks should be code blocks (not paragraphs).

Step 4: Handle images

Markdown image references like ![alt](image.png) need the image file to actually exist for Notion to render it. Three options:

Option A: Inline upload after import

If your Word doc had only a few images, easiest is to import the .md without images, then drag-drop each image into the Notion page where it belongs. Slower but simplest.

Option B: Host images first, rewrite paths

Upload images to a host (Imgur, Cloudinary, your own S3 bucket, GitHub raw), then rewrite the .md to point at the public URLs:

sed -i '' 's|!\[\(.*\)\](\(.*\)\.png)|![\1](https://your-cdn.com/\2.png)|g' document.md

Notion fetches the images during import.

Option C: Use Pandoc with embedded images

Convert with Pandoc and let it base64-embed images directly into the Markdown:

pandoc -f docx -t gfm --embed-resources document.docx -o document.md

The resulting .md is large (images are inlined as data URIs) but self-contained. Notion's Markdown import accepts data URIs.

Step 5: Polish

Even with clean Markdown, you'll want a few minutes of cleanup in Notion:

Common pitfalls

Lists with mixed numbered and bulleted items

Word allows lists where the same level mixes numbered and bulleted items, often inadvertently. Markdown forces consistency per level. The conversion picks one — usually whichever the first item used. Review nested lists carefully and adjust by hand if needed.

Multi-column layouts

Word's multi-column layouts don't have a Markdown equivalent. Pandoc and the MDisBetter web tool both flatten them to single-column reading order. If your Word doc relied on parallel columns for meaning, you'll need to restructure manually in Notion (using two side-by-side columns via the / menu).

Embedded Excel ranges

If your Word doc embedded a chunk of an Excel spreadsheet via OLE, the conversion will either skip it or convert it to a static image. To preserve the data, copy the Excel range separately to .csv and import as a Notion database.

Footnotes and endnotes

Pandoc preserves footnotes as GFM footnote syntax. Notion's Markdown import doesn't natively render this — footnotes appear as inline text in brackets. To make them work as Notion footnotes, manually convert each to a Notion comment or a synced block at the bottom of the page.

Comments and track changes

Word comments are dropped by both Pandoc (default settings) and the MDisBetter web tool. Track changes are accepted (final version is converted; revision history is dropped). If you need to preserve comments, run Pandoc with --track-changes=all and the comments appear inline as marked text — then convert each to a Notion comment manually.

Bulk import

For migrating a folder of Word docs into Notion:

  1. Use Pandoc to bulk-convert to .md (see convert multiple Word documents)
  2. Zip all the .md files together
  3. In Notion, Import → Markdown & CSV → select the zip — Notion creates one page per .md file

For a polished bulk import where each doc gets proper frontmatter (title, tags, dates), see the YAML frontmatter pattern in the Obsidian migration guide — Notion respects YAML frontmatter for the title field.

What this beats

The Markdown path beats Notion's native .docx import on every dimension:

FeatureNative .docx importWord → MD → Notion
HeadingsOften demoted to plain textPreserved correctly
ListsNesting often flattensNesting preserved
TablesOften becomes plain textReal Notion table block
Code blocksLostReal Notion code block with language
ImagesInlined but sometimes brokenCleanly placed
EditabilityOften locked-feelingFully native blocks

Other source formats into Notion

Notion's Markdown import accepts any well-formed .md, not just from Word. PDFs, web pages, audio transcripts — convert to Markdown first, import the same way:

Setting up a Notion database for converted docs

If you're importing many Word docs and want to track them as a database (for filtering, sorting, status tracking), set up the database first:

  1. In Notion, create a new database with properties: Title (default), Source (select: Word/PDF/URL), Imported (date), Status (select: New/Reviewed/Archived), Tags (multi-select)
  2. For each .md file, import as a sub-page of this database (not as standalone pages)
  3. Notion creates one row per imported doc with the title pre-filled
  4. Manually fill in Source, Status, Tags as you review

This turns a flat import into a queryable knowledge base. Combine with Notion's filters to surface unreviewed imports, recently-added docs, or specific tag combinations.

Embedding converted docs into existing pages

Sometimes you don't want a new page — you want the converted Word content as a section inside an existing Notion page. Two approaches:

Approach A: import then move blocks

Import the .md as a new page (creates a sub-page), then select all blocks in the sub-page, copy, paste into the destination page. Notion preserves the block structure on paste.

Approach B: paste Markdown directly

Open your destination Notion page, paste the .md content directly into the page editor. Notion auto-detects Markdown syntax and converts to native blocks on the fly. This works for shorter docs (under ~5,000 words). For larger docs, the page editor may be slow or truncate; use Approach A.

Round-tripping (Notion to Word)

If you ever need to send a Notion page back to a Word user: export the Notion page as Markdown (Settings → Export → Markdown), then convert to Word with Pandoc:

pandoc -f gfm -t docx page.md -o page.docx

Round-tripping isn't lossless (Notion-specific blocks like databases, callouts, embeds don't map cleanly to Word), but it works for primarily text-based pages. Don't make it routine — pick one tool as the source of truth and stick with it.

Recommendation

Skip Notion's native Word import. Convert through Markdown — every time. The path is: web tool for one-offs, Pandoc for bulk, then Markdown import in Notion. The result is fully native Notion pages with intact structure, ready to edit. For a related workflow comparison, see Obsidian migration — same converters, different destination. Both Notion and Obsidian benefit equally from the Markdown intermediate; the structural cleanliness of GFM as the canonical exchange format is what makes the workflow durable.

Frequently asked questions

Does Notion's Markdown import support YAML frontmatter?
Partially. Notion reads the title field from YAML frontmatter and uses it as the page title. Other fields (tags, date, custom properties) are not auto-mapped to Notion's database properties — they appear as a code block at the top of the page. To map frontmatter to Notion database properties, you need a Notion API integration; the native importer doesn't do this automatically.
How big can a Markdown file be for Notion import?
Notion's import accepts files up to roughly 5 MB per .md. Most Word documents convert to .md files well under 1 MB (Markdown is much more compact than .docx). If you have base64-embedded images, you can hit the limit fast — host images externally and rewrite paths instead.
Will my Notion page look exactly like the original Word document?
No — and that's the point. Notion has its own visual style (clean typography, no page breaks, infinite scroll). The structure (headings, lists, tables, code) is preserved precisely; the visual styling is Notion's. If you want pixel-perfect Word reproduction, you don't actually want Notion — you want a Word viewer or a PDF export.