Getting started
Table of contents
Requirements
- Node.js 24 or newer (
node --version). The CLI targets>=24. - ~200 MB of free disk for the bundled Chromium that Puppeteer downloads on first install. You can skip that download behind a corporate proxy – see Troubleshooting.
Install
Globally (recommended for day-to-day use)
npm install -g awesome-md-to-pdf
This installs two identical command-line entry points:
awesome-md-to-pdf– the canonical name.md-to-pdf– kept as an alias for backward compatibility.
One-off via npx
npx awesome-md-to-pdf ./docs --toc --cover --mode light
From source
git clone https://github.com/behl1anmol/awesome-md-to-pdf.git
cd awesome-md-to-pdf
npm install
npm run build
node bin/awesome-md-to-pdf.js
Your first PDF
Create a folder with a Markdown file:
mkdir notes
cat > notes/hello.md <<'EOF'
# Hello, PDF
Welcome to **awesome-md-to-pdf**.
- [x] Markdown
- [x] Mermaid
- [x] KaTeX
EOF
Then convert it:
awesome-md-to-pdf notes -o pdf --mode light
You’ll see the 3D welcome banner, a live progress bar per file, and an
editorial-quality PDF under pdf/hello.pdf.
Run
awesome-md-to-pdfwith no arguments to land in chat mode where you can iterate on designs and flags without re-typing.
Next steps
- Try non-default mode-specific designs:
awesome-md-to-pdf notes --design-light designs/linear-light.md --design-dark designs/linear-dark.md --mode dark. - Author your own
DESIGN.mdfollowing Google’s DESIGN.md spec – see Designs. - Explore the full CLI reference.