Convert Markdown (.md) files into professionally formatted Word (.docx) documents with embedded PNG images. Uses pure JavaScript via the docx and marked npm packages — no Pandoc, LibreOffice, or any native binary required.
# Install dependencies (one-time, from the scripts folder)
cd skills/md-to-docx/scripts && npm install
# Convert (run from workspace root)
node skills/md-to-docx/scripts/md-to-docx.mjs <input.md> [output.docx]
If output.docx is omitted, it defaults to <input-basename>.docx in the current directory.
| File | Purpose |
|---|---|
SKILL.md |
This instruction file |
scripts/md-to-docx.mjs |
Node.js Markdown-to-Word converter |
scripts/package.json |
Dependencies (docx, marked) |
| Requirement | Version | Notes |
|---|---|---|
| Node.js | 18+ | Required runtime |
docx |
9+ | Pure JS Word document generator |
marked |
15+ | Markdown parser |
No native binaries. No system-level installs. Works on Windows, macOS, and Linux.
The converter:
title, date, version, audience for the title page references relative to the input .md file, reads the PNG, and embeds it inline in the Word document#1F3864), styled tables with alternating row colors, code blocks in ConsolasThe converter automatically embeds PNG images referenced in the Markdown:

The image path is resolved relative to the input Markdown file. The PNG is read, dimensions are extracted from the PNG header, and the image is scaled to fit within 6 inches width while preserving aspect ratio.
If an image file is not found, a placeholder [Image not found: <path>] is inserted.
---
title: Project Name — Project Summary
date: 2025-01-15
version: 1.0
audience: Engineering Team, Architects, Stakeholders
---
The title is split on — or – into main title and subtitle for the title page.