Importing Word to Notion Breaks Everything — Fix It with Markdown
You import a Word document into Notion and it looks correct at first glance. Then you scroll down and find that your three-column comparison table has become two columns, the nested checklist has gone flat, the embedded code block has become a paragraph in the wrong font, and the custom callout style your team uses has just vanished. Notion's Word import has been improving steadily, but it's still a fidelity-loss step. The Word → Markdown → Notion route consistently produces better preservation, and it's faster than fixing the import errors by hand.
What Notion's Word import actually does
When you import a .docx file into Notion (Settings → Import → Word, or drag the file directly into a page), Notion runs an internal extraction pipeline that converts the Word document into Notion blocks. Headings become heading blocks, paragraphs become text blocks, lists become toggle or list blocks, tables become Notion table blocks.
The conversion has improved meaningfully over the last two years. In 2024 Notion shipped a substantially better Word importer that handles more edge cases, preserves more formatting, and produces fewer broken pages. For simple documents — text with headings and basic lists — the import works well now.
The problems remain on the parts of Word documents that are structurally complex:
- Tables with merged cells. Notion's table block has a flat row-column model. Merged cells from Word are usually unmerged in the import, which can shift the column meaning of every subsequent cell.
- Nested lists more than two levels deep. Notion supports nested lists, but the import sometimes flattens or mis-indents nesting beyond level two. Outlines and complex hierarchies degrade.
- Custom paragraph styles. Many corporate templates use custom Word styles for callouts, sidebars, info boxes, warnings. Notion has its own callout block but no automatic mapping from Word custom styles to Notion callouts. The import flattens the custom style to plain text.
- Code blocks formatted with monospace styling. If the Word document uses a monospace font and a coloured background to indicate code (the most common pattern in corporate Word documents), Notion typically does not detect it as code and imports it as plain styled text. Syntax highlighting is lost; the code-block UX in Notion is unavailable.
- Footnotes. Word footnotes are usually inlined as parenthetical text in the imported Notion page, breaking the reading flow.
- Equations. Word equations import inconsistently. Sometimes they come through as Notion equation blocks; sometimes they come through as image references; sometimes they're dropped entirely.
- Embedded charts and SmartArt. These are typically dropped or replaced with placeholder text.
- Tracked changes residue. If the source document still has un-accepted track changes, the import behaviour is unpredictable — some imports include the change markers as inline text, others silently accept them and import the result.
The aggregate effect: a complex document imports at maybe 70-80% fidelity, with the lost 20-30% concentrated in exactly the structural elements that took the original author the most time to set up.
Why the Markdown intermediate works better
Notion's Markdown import path is more mature and structurally simpler than its Word import path. When you paste Markdown into a Notion page or import a .md file, Notion's parser walks the Markdown AST and produces native Notion blocks for each Markdown construct:
#,##,###become heading 1, heading 2, heading 3 blocks.- Bullet lists, numbered lists, and toggle lists become the corresponding Notion list blocks.
- Markdown tables become Notion table blocks.
- Fenced code blocks (with language tags) become Notion code blocks with syntax highlighting.
- Block quotes become quote blocks.
> [!note]and similar callout syntaxes become Notion callout blocks.- Inline code, bold, italic, and links all transfer correctly.
- Math expressions in
$...$and$$...$$become Notion equation blocks.
The Markdown parser has a smaller surface area than the Word parser, and the Markdown format encodes structural intent unambiguously. There's less opportunity for the parser to guess wrong about what the source meant.
The two-step workflow
Here's the actual workflow:
- Open /convert/word-to-markdown in your browser.
- Drag the
.docxfile into the upload area. - Click Convert.
- Download the resulting
.mdfile (or copy the Markdown directly). - In Notion, either drag the
.mdfile into the target page, or paste the Markdown directly into a new Notion page.
That's the entire workflow. Two conversions, two clicks each, materially better output than the direct Word import.
What the comparison looks like on a real document
To make this concrete: a 25-page corporate handbook with the kinds of features that real corporate documents have — multiple heading levels, comparison tables with merged cells, nested checklists, code snippets in various languages, embedded charts, footnotes for legal disclosures, custom callout styles for warnings and tips.
Direct Word import to Notion result:
- Headings: preserved.
- Body text: preserved.
- Comparison tables: present but merged cells lost; one table off by one column.
- Nested checklists: top two levels preserved; level three flat.
- Code snippets: imported as styled text, no syntax highlighting, no code block UX.
- Embedded charts: replaced with text describing the chart was here.
- Footnotes: inlined as parenthetical mid-paragraph.
- Custom callouts: flattened to plain styled paragraphs.
- Total fidelity: 70-75%.
Word → Markdown → Notion result:
- Headings: preserved.
- Body text: preserved.
- Comparison tables: full structure preserved.
- Nested checklists: full nesting preserved up to Notion's depth limit.
- Code snippets: detected as code blocks, syntax highlighting works.
- Embedded charts: extracted as image references; charts visible in Notion.
- Footnotes: preserved as Markdown footnotes (Notion renders these as collapsible).
- Custom callouts: detected as callout blocks where the source used recognisable callout patterns.
- Total fidelity: 90-95%.
The conversion path adds two minutes of total work and recovers most of the formatting that would otherwise need to be hand-fixed inside Notion.
Bulk import: the honest scope
If you're moving an entire team from Word to Notion — say, migrating 200 corporate documents from a SharePoint into a new Notion workspace — the honest workflow is:
- Bulk-convert the Word documents to Markdown using Pandoc locally (
pandoc -f docx -t gfmin a shell loop). This handles the volume in an hour for typical mid-sized corpora. - For the highest-priority 30-50 documents, re-run them through /convert/word-to-markdown for cleaner output. These get extra polish.
- Import the resulting Markdown files into Notion. Notion accepts
.mdfile imports — drag a folder of.mdfiles into the workspace and Notion creates corresponding pages.
Honest disclaimer: the conversion step is one-file-at-a-time on the web tool. For genuine bulk, Pandoc local is the right answer (covered in you can't feed 500 Word docs to AI). The web tool is for the curated set you want polished output on.
The Notion-side considerations
A few things to know about how Notion handles the imported content:
Page hierarchy. A single .md file becomes a single Notion page. If your source Word document had distinct sections that should be separate pages in Notion, you'll need to split the Markdown before import (manually, or with a script that splits on H1 boundaries).
Internal links. If the source document had cross-references ("see Section 3 for details"), they survive as Markdown links pointing to Markdown anchors — but Notion's anchor-link behaviour is different, so the cross-references may need to be updated manually after import.
Image hosting. Images in the converted Markdown reference local file paths from the conversion. When you import the Markdown file along with the extracted images into Notion, the images get uploaded to Notion's storage and re-referenced. Drag the Markdown file plus the images directory together for cleanest results.
Database vs page. Notion has a clear distinction between a page (a single document) and a database (a collection of records). A converted Word document becomes a page; if you want to convert a directory of related documents into a Notion database, you'll need to create the database structure first and import each document as a database row, which is a more involved workflow.
Cross-format pattern
The Word-to-Notion fidelity gap is part of the broader pattern of source-format-to-destination-format converters being lossier than two-step conversions through a high-quality intermediate. The same dynamic applies in Google Docs export to Markdown, in CMS imports (covered in the Word-to-CMS formatting nightmare), and in PDF imports to Notion (covered in PDF to Markdown for Notion import). Markdown is the right intermediate in every case because it carries structural intent without visual formatting noise.
What changes when the team adopts the workflow
For teams migrating an existing knowledge base from a Word-based system (SharePoint, file shares, email archives) into Notion, the Markdown intermediate workflow makes a meaningful difference at scale. The patterns we've seen:
Migration speed roughly doubles. Direct Word import to Notion produces pages that need 15-30 minutes of manual cleanup each — fixing tables, re-indenting nested lists, re-formatting code blocks, restoring callouts. The Markdown intermediate produces pages that need 0-5 minutes of cleanup each. For a 200-document migration, that's the difference between a 50-100 hour project and a 15-25 hour project.
Imported pages feel like native Notion content. Pages that were imported via the Markdown intermediate tend to use Notion's native block types properly — actual code blocks with syntax highlighting, actual callouts with appropriate icons, actual tables with proper column behaviour. Pages imported directly from Word often have subtle structural anomalies that mark them as imports for the document's entire lifetime in Notion.
Notion AI works better on the imported content. When Notion AI summarises or queries content on a page, the underlying representation is the Notion blocks. Cleanly-imported pages produce cleaner block structure, which produces better AI output. Pages imported with structural errors produce AI output that reflects the errors.
Future migrations stay easy. If your team eventually moves from Notion to a different tool (it happens), Notion's export to Markdown works much better on cleanly-structured pages than on messily-imported ones. The investment in clean import is also an investment in future portability.
The summary
Notion's Word import works for simple documents and breaks on the structural complexity that real corporate documents tend to have. The two-step workflow — Word to Markdown via /convert/word-to-markdown, then Markdown into Notion — preserves substantially more of the source formatting and handles the edge cases (tables, code, footnotes, callouts) that the direct import drops. Two minutes of extra work per document; thirty minutes saved fixing the import errors by hand. The math is one-sided.