This project converts Markdown files into Microsoft Word (.docx) documents.
It preserves common block and inline-level elements (headings, lists, links, images, code blocks, emphasis, tables) and provides a small CLI to control input, output and templates.
- โก Fast: Processes large Markdown files quickly and efficiently.
- ๐งฉ Accurate: Preserves formatting for headings, lists, links, images, code blocks, emphasis, and tables.
- ๐ช CLI Tool: Simple command-line interface for easy integration into workflows.
- ๐ค Cross-platform: Works on Windows, macOS, and Linux.
Install globally from npm:
npm install -g @thebestdev/md-to-docxThen run:
md-to-docxOr run without a global install:
npx @thebestdev/md-to-docxnpm install
npm run build
npm link
md-to-docxWhen you run the program you will be prompted to provide:
- Input file: path to the Markdown file to convert (required).
- Or, you can provide the clipboard option to read Markdown from clipboard.
You can also use non-interactive CLI flags:
md-to-docx README.md
md-to-docx --watch docs/**/*.md
md-to-docx --batch --pattern "docs/**/*.md"
md-to-docx README.md --outdir exports
md-to-docx --helpBy default, output is written next to the source Markdown file.
Use --outdir to force all generated DOCX files into a specific folder.
You can watch one file or a glob pattern and automatically reconvert on changes:
md-to-docx --watch docs/**/*.mdOr watch a single file:
md-to-docx --watch README.mdwatch mode runs an initial conversion, then listens for file changes until you stop it with Ctrl+C.
You can also import the package in Node.js projects:
import {
convertMarkdownFile,
convertMarkdownStringToFile,
convertMarkdownToDocxBuffer,
} from "@thebestdev/md-to-docx";
await convertMarkdownFile("docs/guide.md", "exports");
await convertMarkdownStringToFile("# Hello", "exports/hello.docx");
const buffer = await convertMarkdownToDocxBuffer("# Buffer output");This project is licensed under the MIT License. See the LICENSE file for more info.