What this converter does
Word documents are a common source for content that ends up as Markdown: documentation drafts, blog posts, meeting notes and course material. Copying from Word into a Markdown file loses the structure, and retyping it is slow.
This converter reads the .docx file in two steps. First the mammoth library turns the document into simple HTML based on its styles, not its exact look. A paragraph styled Heading 1 becomes a top level heading, a bulleted paragraph becomes a list item, and so on. Then Turndown turns that HTML into Markdown, with extra rules for tables. Both steps run in your browser.
How to use it
- Press Choose a Word file or drop a
.docxfile on the box. - The Markdown appears below as soon as the file is read.
- Change the options if you need to. The result updates without opening the file again:
- Images: Leave out (keep alt text) or Embed as data URLs.
- Headings: hash marks (
#) or underlined headings. - Bullets:
-,*or+for list items.
- Use Preview to see the Markdown rendered. You can also edit the text in the box.
- Press Copy or Download to save it as a
.mdfile named after your document.
The status line shows the word count and any notes from the conversion, such as a Word style it did not recognise.
Example
We built a small test document with a Heading 1, a paragraph with bold and italic words, a Heading 2, a two item bulleted list and a three row table. The converter returned:
# Meeting Notes
The team agreed to ship the **new pricing page** on *Friday*.
## Action items
- Update the screenshots
- Email the beta users
| Owner | Task | Due |
| --- | --- | --- |
| Priya | Copy review | Wed |
| Sam | QA pass | Thu |
Word tables do not mark a header row the way HTML does, and every cell holds its own paragraph. A plain Turndown setup would leave such a table as raw HTML. This converter uses the first row as the header and joins each cell onto one line, so you get a real Markdown table.
What converts and what does not
Kept:
- Headings from Word’s built-in heading styles
- Paragraphs, bold, italic and strikethrough
- Bulleted and numbered lists, including nested ones
- Links
- Tables, with the first row as the header
- Footnotes and endnotes, as a list at the end
- Image alt text, or the full image if you choose to embed it
Not kept:
- Fonts, colours, sizes and page layout
- Shapes, SmartArt and charts
- Comments and tracked changes
- Headers and footers
- Merged table cells. They are padded with empty cells so the table stays valid.
Markdown cannot describe page design, so this is expected. The goal is clean, portable text with its structure intact.
Tips for better results
- Use real heading styles. Text formatted to look like a heading is stored as a normal paragraph. Select it in Word and apply Heading 1, Heading 2 or Heading 3 before converting.
- Use real lists. Lines that start with a typed dash or number are paragraphs, not list items. Word’s list buttons create proper lists.
- Check long tables. A cell with several paragraphs becomes one line. If a table holds long text, a list may read better in Markdown.
- Tidy the result. The Markdown formatter pads tables so the columns line up and wraps paragraphs in one style.
- Only have a PDF? Use the PDF to Markdown converter. A
.docxgives better results when you have both, because a PDF does not store structure. - Have HTML instead? The HTML to Markdown converter uses the same rules for lists, links and tables.
Other ways to convert Word to Markdown
- Pandoc reads
.docxfiles directly.pandoc report.docx -o report.mdis the basic form, and it can also save the images to a folder. - Word and Google Docs have no built-in Markdown export. Google Docs can copy content as Markdown when that feature is turned on in its preferences.
- Python: the mammoth package that powers the first step here also exists for Python and can produce HTML or Markdown from a script.
Privacy
The file is read with your browser’s file API and converted in memory. Nothing is uploaded, so internal documents and drafts stay on your device. Close the tab and the document is gone.