Convert Markdown to PDF online — free, in your browser, no signup
Updated
You can turn any markdown file into a clean, styled PDF without installing anything. SwissArmyPDF's Markdown-to-PDF tool parses your markdown with the same library GitHub uses, shows a live preview, and exports a real PDF via your browser's print engine. Nothing is uploaded — your draft, internal docs, or unpublished writing stay on your device.
Why convert markdown to PDF in the first place?
Markdown is the default writing format for engineers, technical writers, and a growing chunk of everyone else — but the format is plain text. Anyone you send a .md file to either needs a markdown viewer or sees a wall of asterisks and hash signs.
A PDF solves the distribution problem. PDFs render identically on every device, work in every email client, and are the universal format for handover, archival, and printing. Common reasons people convert markdown to PDF:
- Documentation hand-offs. README, design docs, RFC drafts — send a polished PDF to a non-technical stakeholder rather than asking them to install a markdown viewer.
- Notes and journals. Obsidian, Bear, Logseq, iA Writer — all of them store markdown. Exporting to PDF gives you a portable archive.
- Resumes and cover letters. Many engineers write their resume in markdown and need a PDF version for applications.
- Blog drafts and articles. Author in markdown, share a PDF draft for editorial review.
- Meeting notes and reports. Quick markdown notes get a PDF makeover for distribution.
How to convert markdown to PDF (step by step)
- Open Markdown to PDF. No signup, no email gate.
- Drop your
.mdfile onto the dropzone, or paste markdown directly into the editor. The preview pane updates as you type. - Pick a page size — A4 or US Letter — and a typography theme. GitHub-style looks great for technical docs (sans-serif, code highlighting backgrounds); Plain uses Georgia/serif for prose.
- Click Save as PDF. Your browser's print dialog opens — choose Save as PDF as the destination and pick a filename.
The whole flow takes about 15 seconds. Because we use the browser's native print engine, the output is genuinely lossless — every CSS rule, every table border, every code-block background renders exactly as you saw in the preview.
What markdown features are supported?
We use marked, which implements CommonMark plus the GitHub-Flavored Markdown (GFM) extensions. In practice, that means:
- Headings (
# H1through###### H6) — render with proper hierarchy and the GitHub-style underline on H1/H2. - Emphasis —
*italic*,**bold**,~~strikethrough~~. - Lists — ordered, unordered, and task lists (
- [ ]). - Links and images — including reference-style links. Images are loaded from their URLs at print time.
- Code — inline
`code`and fenced```blocks. Language tags are accepted but not syntax-highlighted in v1. - Tables — GFM pipe tables render with borders and a header row.
- Blockquotes — including nested.
- Horizontal rules.
Things that don't work:
- Raw HTML inside markdown — partially supported by marked; complex HTML may render oddly.
- Syntax highlighting — code blocks have monospace styling and a soft background, but not per-language colors.
- Math (KaTeX/MathJax) — not in v1. If you need it, render to HTML elsewhere and use HTML to PDF.
- Frontmatter (YAML at the top) — currently rendered as text. Strip it before pasting, or it'll appear in the PDF.
GitHub-style vs Plain — which theme should you pick?
The tool ships with two typography themes:
- GitHub-style — the familiar look from GitHub's markdown renderer. Sans-serif body (
-apple-system), light-gray code backgrounds, underlined section dividers under H1/H2. Best for technical docs, READMEs, and anything an engineer will read. - Plain — serif body (Georgia), tight column, more book-like. Best for prose, articles, journals, and resumes where you want it to look less "developer tool, more "document."
If neither fits, you can always export to HTML with a markdown CLI, customize the CSS, and run it through HTML to PDF — that path gives you full styling control.
Markdown to PDF — browser tool vs Pandoc vs others
Different tools for different needs.
| Tool | Best for | Setup | Privacy |
|---|---|---|---|
| SwissArmyPDF | One-off conversions, drafts, sharing | Open URL | Local-only; never leaves your browser |
| Pandoc | Batch, scripted, academic (with LaTeX) | Install + LaTeX engine | Local |
| VS Code "Markdown PDF" extension | If you're already in VS Code | Install extension (downloads Chromium) | Local |
| Online uploaders (most "md to pdf" sites) | Avoid for anything sensitive | Open URL | Uploaded to their servers |
For a single doc, the browser tool is fastest. For automating a hundred conversions in CI, Pandoc is the right answer.
Troubleshooting
- "Popup blocked" error. The PDF generation opens a popup with the print dialog. Allow popups for swissarmypdf.com in your browser settings and try again.
- Tables look broken. GFM tables need a separator row (
|---|---|) under the header. Without it, marked falls back to treating the whole thing as text. - Images aren't appearing. The image URL must be reachable over HTTPS and CORS-permissive. Local file paths and
http://URLs (on an HTTPS page) won't load. - Page breaks happen in awkward places. The browser handles pagination — you can hint at breaks with raw HTML (
<div style="page-break-before: always"></div>) inside your markdown. - Frontmatter is showing up. Strip YAML frontmatter (the block between
---markers at the top) before pasting. We don't parse it in v1.
Why "in your browser" matters for markdown
Markdown files often contain things you don't want on someone else's server: unpublished blog drafts, internal RFCs, meeting notes with sensitive names, resumes with personal information, work-in-progress fiction. Most "free markdown to PDF" sites work by uploading your file to their server. Even if they delete it after, your draft was on their disk.
SwissArmyPDF doesn't have a server in the loop. The markdown parser (marked) runs in your browser; the rendering uses your browser's own print engine. Open DevTools, switch to the Network tab, and convert a file — you'll see no outbound traffic.
Ready to convert?
Scroll back up, paste your markdown, and you'll have a PDF in under a minute.
For related jobs: HTML to PDF if you need full CSS control, TXT to PDF for plain text without formatting, Merge PDF to combine multiple exported PDFs into a single document.