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 (
# h1through###### h6) - Bold, italic,
strikethrough - Links
- Inline
codeand fenced code blocks with syntax highlighting - Tables
- Ordered, unordered, and task lists
- Blockquotes
- Horizontal rules
Images are not rendered yet. For
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 build → build/). 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.