Markdown in, a real editable .docx out — one click, no upload
.md file), click Download .docx, and get a native Word document — real heading styles, real tables with alignment, real list numbering, clickable links. It's genuine OOXML, not HTML in a trench coat: a 60-word sample with a table and lists builds a 10 KB package with 21 paragraphs, one 3-row table, and a wired hyperlink. The engine runs in this tab; nothing uploads.
| Markdown | OOXML produced | Verified in output |
|---|---|---|
# H1, ## H2 | Paragraphs styled MdHeading1/2 (Word heading hierarchy) | Both styles present |
| Paragraph text | <w:p> with MdParagraph style | 21 w:p total in the sample |
**bold**, *italic* | Runs with <w:b/>, <w:i/> | 1 bold + 1 italic run |
- bullets, 1. numbered | List paragraphs + numbering.xml definitions | 5 numbered refs, real numbering part |
GFM table with ---: | <w:tbl> with header row, 9 bordered cells, jc:right where aligned | 1 table, 3 rows, right-align carried over |
[link](url) | <w:hyperlink> + relationship in document rels | 1 hyperlink, target verified |
> quote | MdBlockquote styled paragraph | Present |
Every claim in the right column comes from unzipping a document this tool produced and counting — the same package Word, LibreOffice, and Google Docs open. Files in the package: word/document.xml, styles.xml, numbering.xml, fontTable.xml, settings.xml, plus the _rels and docProps parts a .docx is required to carry.
Two stages, all local. Your markdown is parsed and mapped into a document object — headings to styled paragraphs, tables to table definitions with per-column alignment, lists to numbering references — then markdown-docx 1.7.0 (MIT) builds the full Office Open XML package on top of docx 9.5.1 (MIT), the most-used JavaScript Word generator. The bytes are assembled in your tab and handed straight to your downloads folder.
Load the sample — a 60-word, 319-character API report with two heading levels, a bullet list, a numbered list, a 3-column table with right-aligned numeric columns, a blockquote, a bold/italic span, and one link. One click produces:
word/_rels/document.xml.rels.MdHeading1, MdHeading2, MdParagraph, MdListItem, MdBlockquote) defined in styles.xml.---: alignment intact — Requests and Errors columns right-aligned in Word, exactly as the markdown asked.That's the difference between converting and screenshotting: every element in the output is a Word object your collaborators can restyle, comment on, and track-change.
Conversion by markdown-docx 1.7.0 (MIT) on docx 9.5.1 (MIT, pinned for compatibility), bundled to 790 KB with a Buffer polyfill (MIT, feross) under /vendor/ with license texts. The live preview reuses the remarkable 1.7.4 (MIT) parser shipped with our markdown to PDF tool. Everything runs in your browser tab.
Paste or drop your markdown, then click Download .docx — one click, no upload. The converter builds a real Word file with native headings, tables, lists, and clickable links. The alternative — copy-pasting from a markdown preview into Word — works but loses structure: tables arrive as tabs and code blocks as plain text.
A real .docx: an Office Open XML package with word/document.xml, styles.xml, numbering.xml, and relationships, zipped. The proof is inspectable — a sample 60-word document with a heading, lists, and a 3-row table produces a 10 KB package containing 21 paragraphs, one table with 3 rows and 9 cells, and a hyperlink wired through the relationships part. Word, LibreOffice, and Google Docs all open it natively.
Yes — markdown tables become native Word tables with bordered cells, a styled header row, and per-column alignment. The alignment you set in markdown carries over: a column marked ---: in the delimiter row renders right-aligned in Word via the jc:right property. Cell text keeps its bold and italic formatting.
Links become real Word hyperlinks — the run carries a relationship into the document's rels part, so clicking it opens the target. Images embedded as data URIs become inline pictures; remote image URLs can't be fetched without a server round-trip, so they're inserted as labeled text rather than silently dropped.
No. The markdown parser and the OOXML generator both ship with this page and run in your browser tab — the .docx is assembled locally and handed to your downloads folder. That makes it safe for contracts, internal reports, and anything you wouldn't paste into an unknown converter.
When someone else needs to edit the result. PDF is a final-form format — comments and redlines fight the format — while .docx is where collaboration happens: track changes, comments, and style tweaks all expect Word. The usual pipeline is markdown to .docx for drafts and review, then the PDF version when the document is final.