Beautiful PDFs from markdown. One command, zero config.
markpdf report.mdAgent skill (Claude Code, Cursor, Codex, Gemini CLI):
npx skills add araa47/markpdfCLI:
uv tool install git+https://github.com/araa47/markpdfOr with pip:
pip install markpdfmarkpdf report.md # creates report.pdf
markpdf report.md --dark # dark mode
markpdf report.md -o final.pdf # custom output path
markpdf report.md -k # keep sections on same page
markpdf report.md -v # verbose output| Light | Dark |
![]() |
![]() |
![]() |
![]() |
Source:
tests/fixtures/showcase.md| Full PDFs:examples/
- Full markdown -- headers, lists, tables, code blocks, blockquotes, images, task lists
- Extended syntax --
==highlight==,^super^,~sub~,~~strike~~ - Light & dark themes -- shadcn/ui zinc palette
- Smart page breaks -- headings stay with their content, no orphans
- Remote images fetched concurrently
- Async I/O with optional uvloop
- Single command, agent-friendly -- no browser, no LaTeX, no config
Most messaging apps (Slack, Discord, Teams, WhatsApp, email) don't render markdown. markpdf turns it into a polished PDF -- no browser, no LaTeX, no config.
See CONTRIBUTING.md for development setup.
uv sync --all-extras --dev
uv run pytestSee CHANGELOG.md for release history.




