Markdown to PDF

Web playground

The web playground at markdown2pdf.eu is the simplest way to use markdown2pdf — paste markdown on the left, see the live preview on the right, click Download PDF.

How it works

Everything runs in your browser. No upload, no server processing, nothing stored.

  • The live preview is rendered with markdown-it (instant feedback, GitHub-flavored).
  • The PDF is generated by a WebAssembly build of the same Rust crate that powers the CLI (markdown2pdf-core). It uses Typst as the layout engine, with Inter and JetBrains Mono embedded for portable, vector-text output.
  • The WASM module (~23 MB) is lazy-loaded on first download and cached for subsequent clicks.

Supported markdown

The playground handles GitHub-flavored markdown:

  • Headings (# h1 through ###### h6)
  • Bold, italic, strikethrough
  • Links
  • Inline code and fenced code blocks with syntax highlighting
  • Tables
  • Ordered, unordered, and task lists
  • Blockquotes
  • Horizontal rules

Images are not rendered yet. For ![alt](url "title") the PDF gets the title in italics; with no title it falls back to the literal word image. The Markdown alt text is currently dropped. Tracked in the repo as a planned feature.

Privacy

The page is fully static. Your markdown never leaves your browser. No analytics, no tracking, no cookies. The only network request after the initial page load is fetching the WASM blob from the CDN.

Self-hosting

The site is a pure static bundle (bun run buildbuild/). Drop it on any static host: Firebase Hosting, Cloudflare Pages, GitHub Pages, Netlify, etc. See the README for the Firebase setup used at markdown2pdf.eu.