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

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-pdf with 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.md following Google’s DESIGN.md spec – see Designs.
  • Explore the full CLI reference.