Markdown to DOCX Converter
Convert Markdown to DOCX in your browser and get a real Word document — not Markdown source pasted into a page. Headings become Word heading styles, tables become native tables, and lists keep their numbering. Paste your text, check the live preview, and download the .docx.
The rendered preview appears here as you type.
Everything runs in this tab — your text is never uploaded.
Free, no signup, nothing uploaded. Works offline once the page has loaded.
How it works
Structure in, structure out.
The easy way to produce a .docx from Markdown is to drop the raw text into a single Word paragraph and call it converted. The result opens, but every heading is still a line beginning with a hash, the tables are still rows of pipes, and none of Word's features apply to any of it. This converter does the harder thing: it rebuilds the document as Office Open XML.
- Parse to a syntax tree. Your Markdown is tokenised into a nested tree of blocks and inline nodes — the same parse that drives the live preview, so what you see is what gets converted.
- Map each node to its Word equivalent. A level-two
heading becomes Word's built-in Heading 2 style. A table becomes a
w:tblwith a repeating header row. An ordered list becomes paragraphs bound to a shared numbering definition, so Word renumbers them correctly when you insert an item. - Package as a .docx. The document parts are zipped into the standard container and saved straight to your downloads folder.
The practical difference shows up the moment you open the file. Word's navigation pane lists your headings. Changing the document theme restyles every heading at once. Exporting to PDF produces a real bookmark tree. Generating a table of contents works. None of that is possible when headings are merely large bold text.
Supported formatting
GitHub-flavored Markdown, mapped to native Word constructs.
| Markdown | In the .docx |
|---|---|
# through ###### | Heading 1–6 built-in styles |
| Paragraphs | Separate paragraphs with spacing |
**bold**, *italic*, ~~strike~~ | Run formatting, combinable when nested |
- item / 1. item | Bulleted and numbered lists, nested to five levels |
- [x] task | List item prefixed with a ballot box character |
[text](url) | Clickable hyperlink using Word's Hyperlink style |
> quote | Indented paragraph with a left rule |
| Fenced and inline code | Monospaced runs on a shaded background, line breaks preserved |
| Pipe tables | Native table, bold header row that repeats across pages, alignment kept |
--- | Horizontal rule as a bottom-bordered paragraph |
 | Italic [image: alt] placeholder — see limitations |
Example
What a nested structure turns into.
This input:
## Release notes
1. Fixed the export path
- Windows only
2. Added **table** support
> Upgrade before Friday.
| Change | Status |
| --- | ---: |
| Export | Done | produces a Word document containing a Heading 2, a two-item numbered list with a bulleted sub-item at level two, a bold run inside the second item, an indented and ruled quotation, and a two-column table whose header row is bold and whose second column is right-aligned. Every one of those is a real Word object: click into the list and Word offers list controls; click into the table and Word offers table tools.
Press Load example in the converter above to run a longer version of this through the tool and inspect the result yourself.
Privacy
Your draft is never transmitted.
The document is assembled by JavaScript in this tab and handed to the browser's download mechanism as a local blob. Nothing is posted, logged or retained. This site is statically hosted and has no endpoint that could receive your text even if the code tried to send it.
You can confirm this the same way you would for any such claim: watch the network panel while converting, or disconnect from the internet after the page loads and convert anyway. Unpublished drafts, client work and internal documents can go through this tool without leaving your machine.
Limitations
What this converter does not do.
- Images are placeholders, not pictures. Embedding an image means fetching it, and fetching it means a network request — which would break the guarantee above. Each reference is kept as visible alt text for you to reinsert in Word.
- Raw HTML is flattened. Markdown permits arbitrary HTML, and Word has no equivalent for most of it. HTML blocks are reduced to their visible text; scripts, iframes and styling are discarded.
- No custom templates yet. The output uses Word's default styles. You can apply your own template afterwards — because the headings are real styles, restyling is a single operation in Word rather than a manual pass.
- Footnotes and citations are not converted. Markdown footnote syntax is not part of GitHub-flavored Markdown and is rendered as literal text.
- Math is not rendered. LaTeX or MathJax expressions pass through as plain text rather than becoming Word equations.
- Nesting beyond five list levels is flattened to the fifth level, which is the depth the numbering definition covers.
Frequently asked questions
Does the .docx contain real Word headings?
Yes. A Markdown H1 becomes Word's built-in Heading 1 style, H2 becomes Heading 2, and so on. That means the document outline works in Word's navigation pane, the headings restyle when you change the theme, and exporting to PDF produces a real bookmark tree. The converter does not simply enlarge and bold the text.
Can I open the file in Google Docs or LibreOffice?
Yes. The output is standard Office Open XML — the same .docx format Word itself writes — so Google Docs, LibreOffice Writer, Pages and Office Online all open it. Heading styles and tables survive the trip; the exact fonts may be substituted depending on what the application has available.
Is my Markdown sent to a server?
No. The document is assembled in your browser and saved straight to your downloads folder. Nothing is transmitted, logged, or stored, which also means the tool works with your network disconnected once the page has loaded.
Are Markdown tables converted to real Word tables?
Yes. A GitHub-flavored Markdown table becomes a native Word table with a repeating header row, so it splits correctly across pages, and column alignment markers are carried across. You can edit and restyle it in Word exactly like a table you created there.
What happens to images in my Markdown?
Image references are preserved as an italic placeholder showing the alt text, not as embedded pictures. Fetching a remote image would mean sending a request for it, which would break the guarantee that nothing leaves your browser, so the reference is kept visible for you to reinsert deliberately.
Which Markdown flavor is supported?
GitHub-flavored Markdown: headings, paragraphs, bold, italic, strikethrough, ordered and unordered lists with nesting, task lists, links, blockquotes, fenced and inline code, tables, and horizontal rules. Raw HTML blocks are reduced to their visible text, since Word has no equivalent for arbitrary markup.