Convert Markdown text into an editable Word document
Supports headings, paragraphs, bold, italic, lists, tables, code blocks, blockquotes and images (only data: URI images are embedded; other image URLs are kept as a text note and never downloaded). Everything runs locally in your browser, and your content is never uploaded.
Markdown to Word turns the Markdown you type into the text box into an editable .docx document. It first parses your Markdown into HTML with the marked library, then converts headings, paragraphs, bold, italic, list items (including ordered and nested lists) and links into Word paragraphs one by one. It also supports tables (real Word tables), code blocks (monospaced text with grey shading), block quotes (indent plus a left border) and images (only data: URI images are embedded; other image URLs leave a text note). The notes and limits below were written by checking the tool's actual conversion logic.
This is traced from the HTML that marked actually produces and the tool's conversion code. The pre-filled sample contains '# Heading', a line with '**bold**' text, and two list items starting with hyphens. marked produces three top-level blocks, h1, p and ul, with two li elements inside the ul. The Word document therefore has 4 paragraphs: one using the built-in Heading 1 style, one normal paragraph where the word 'bold' is in bold, and two bulleted paragraphs. In general, heading levels 1 to 6 (# to ######) become Word Heading 1 to Heading 6; bold (**text**) and italic (*text*) become bold and italic runs; each item of an unordered list becomes one bulleted paragraph; each item of an ordered list becomes a paragraph starting with '1. ', '2. ' and so on; and a nested sub-list is split into its own indented paragraphs. Tables, code blocks, quotes and images are covered in the limits below.
No. The numbers of an ordered list are written as text into each paragraph (such as '1. ' and '2. '), starting from the number used in your Markdown. This does not depend on Word's automatic numbering, so it displays reliably. If you reorder items in Word afterwards, change the numbers by hand, or select the paragraphs and switch to Word's Numbering button.
So that the tool never makes network requests behind your back (and to avoid cross-origin download failures), it embeds only data: URI images. Images with https or other external URLs become text like '[image: description] (URL)'. If you need the picture, convert it to a data: URI before pasting, or insert it in Word by hand.
Yes. For each block the tool walks through the text nodes inside it, and whenever it meets bold or italic markup it applies bold or italic to that text. Headings already use Word's heading style, though, so the visible effect of bolding inside a heading depends on the style itself.
Pasting gives you the raw text with its hash marks and asterisks. This tool parses the Markdown first, turning hash marks into heading styles and asterisks into bold or italic, so the document is closer to a formatted result. For complex documents (merged cells, multi-paragraph cells, syntax highlighting and so on) its coverage is limited, so review the result after converting.
Yes. The document is built in your browser, so speed depends on length and your device, and the code sets no limit. Longer input takes longer after you click, and the button is disabled in the meantime.
Parsing the Markdown and building the .docx both happen in your browser. The two libraries needed are loaded by the page when you click convert, and the code contains no request that sends your text to a server. The text exists only on the current page and is gone when you close or refresh it.