Skip to main content
CaseSwitch

Word to Markdown

Use the CaseSwitch Word to Markdown Converter to turn a .docx into Markdown locally (Mammoth-style) so documentation can move into git. Choose a Word file, review the Markdown, and copy it. The document is not uploaded to CaseSwitch.

Written by the CaseSwitch editorial team. We maintain these tools in the browser so drafts, keys, and images stay on your device.

Last reviewed: 23 July 2026

Files are processed locally in your browser and are never uploaded to a server.

or drag and drop a file here

Examples

Simple policy doc

Input

Upload policy.docx with Heading 1/2 styles and bullet lists

Output

# / ## headings and - lists in Markdown — skim levels before you commit

Blog draft with emphasis

Input

Upload draft.docx using bold/italic runs and hyperlinks

Output

Paragraphs with **bold**, _italics_, and [links](url) when Word stored them as standard runs

Feature checklist

Input

Upload checklist.docx with a short bulleted feature list

Output

Markdown list items you can paste under a README ## Features section

Doc with only a text box / SmartArt

Input

Upload fancy.docx whose visible text lives only in text boxes or SmartArt

Output

Sparse or empty Markdown — move critical text into normal paragraphs in Word and re-export

Empty or unsupported file

Input

Upload an empty .docx or a legacy .doc renamed to .docx

Output

Validation or conversion error — use a real .docx with body text and retry

How to use

  1. Choose a .docx file (not legacy .doc binary).
  2. Review headings, lists, and image placeholders in the Markdown output.
  3. Copy into your repo, then run the Markdown formatter and fix media paths.

What this tool is for

Many drafts start in Word while developer docs want Markdown. This page unzips and parses .docx in the browser, mapping paragraphs, headings, and basic lists to Markdown. Complex Word features (SmartArt, text boxes, tracked changes) will not all survive.

How it works

You select a .docx within size limits. Mammoth reads the array buffer and emits Markdown. Empty documents error. Images may appear as Markdown image placeholders pointing at embedded data or stubs — save media separately if you need binary files in the repo.

When to use it

Developer docs that started in Word, blog drafts moving to a static site, extracting a policy into a repo, and avoiding upload-based converters for internal handbooks.

When not to use it

Not a layout-faithful publisher. Tracked changes and comments may be ignored. Macros are not executed (good). For PDFs use PDF to Markdown. For HTML use HTML to Markdown.

How it compares to related tools

PDF to Markdown for PDFs. HTML to Markdown for web pages. Markdown Formatter to tidy the result after conversion.

Common mistakes

Converting a 200-page manual without checking heading levels. Losing alt text on images. Expecting text boxes and SmartArt to become perfect structure.

Styles become structure

Word Heading styles map cleanly to Markdown `#` levels. If everything was “Normal” with bigger fonts, you will get flat paragraphs — apply real heading styles in Word before converting when structure matters.

Images and media

You may get Markdown image placeholders. Binaries are not always written beside your README automatically. Export media from Word or your CMS if the repo needs the files.

Frequently asked questions

Are images exported as files?+

You may get Markdown image placeholders. Save media separately if you need the binaries in git.

Is my document uploaded?+

No. Conversion runs in the browser.

Does it support legacy .doc?+

Use .docx. Open the file in Word or LibreOffice and save as .docx first.

Are comments and tracked changes kept?+

Usually ignored. Accept revisions in Word first if you need a clean draft.

Will macros run?+

No. The converter reads document XML; it does not execute macros.

Can I convert to HTML instead?+

This page targets Markdown. Convert Markdown to HTML in your static site generator if needed.

Does this tool send my payload to CaseSwitch?+

No. Formatting, encoding, and naming conversions for this page run in your browser after load — your sample stays on the device.

Related tools