SWISSARMY/PDF All tools
Convert

Markdown to PDF

Convert markdown to a clean, styled PDF

Drop a .md file or paste markdown, see a live preview, then export a clean PDF — tables, code blocks, links, headings all preserved. Runs entirely in your browser using marked + the browser's own print engine.

Drop a .md file
or paste markdown below
MARKDOWN
PREVIEW

Opens your browser's Print dialog. Choose Save as PDF as the destination — that's how we generate a real PDF without ever uploading your markdown.

HOW IT WORKS

How to markdown to pdf

  1. 01

    Drop a .md file or paste markdown into the editor.

  2. 02

    Pick a page size and theme.

  3. 03

    Click Save as PDF — your browser's print dialog opens; choose 'Save as PDF' as destination.

FAQ

Frequently asked

What flavor of markdown is supported? +
CommonMark plus GitHub-Flavored Markdown (GFM) extensions: tables, fenced code blocks, task lists, autolinks, strikethrough.
Will my code blocks be syntax-highlighted? +
Not in this version — code is shown in monospace with the theme's background, but without per-language coloring. Use a tool like Prism or highlight.js on the markdown first if you need it.
Are my files uploaded? +
Files never leave your browser — everything happens locally on your device.
GUIDE

Convert Markdown to PDF online — free, in your browser, no signup

Updated

TL;DR

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)

  1. Open Markdown to PDF. No signup, no email gate.
  2. Drop your .md file onto the dropzone, or paste markdown directly into the editor. The preview pane updates as you type.
  3. 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.
  4. 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 (# H1 through ###### 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.

ToolBest forSetupPrivacy
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.

RELATED

More convert tools