Five themes with matched syntax highlighting, nine font families, cover pages, table of contents, and page numbers — all free, all in your browser.
Most markdown-to-PDF tools are thin wrappers around Pandoc or headless Chrome. They require installation, have limited styling options, and upload your files to a remote server. This tool is different: it runs entirely in your browser — your content never leaves your machine.
5 beautiful themes
Light, Dark, Sepia, Minimal, and Ocean — each with a fully matched colour palette across headings, code, blockquotes, and tables.
Per-theme syntax highlighting
Each theme ships with a matched highlight.js code theme — GitHub Dark for dark, Nord for ocean, a11y-light for sepia. Code is always readable.
9 font families
System fonts and Google Fonts including Inter, Merriweather, Playfair Display, and JetBrains Mono. All loaded on-demand.
Cover page & table of contents
Auto-generated from your markdown headings. Enable with one click — the tool extracts the title and structure automatically.
Page numbers
Optional page numbers at the bottom right of every page. Works across multi-page documents.
100% client-side
No upload, no account, no watermark. Everything runs in your browser tab using browser print APIs.
Mermaid diagrams
Flowcharts, sequence diagrams, ER diagrams and more — rendered as theme-matched SVG in the preview and PDF.
Math formulas (KaTeX)
LaTeX math syntax rendered via KaTeX. Inline and block formulas, crisp vector output, works across all themes.
The theme controls the entire document palette: page background, body text colour, heading colour, link colour, blockquote style, table header, and code block background. Pick the one that fits your audience.
Light
Clean white background, slate body text, indigo accents and blockquotes. The professional default — prints perfectly on standard paper with no surprises.
Best for: Reports, documentation, formal documents, anything that needs to print cleanly.
Dark
Near-black background (#111827) with light slate body text, violet headings, and cyan inline code. Code blocks are visually elevated with a slightly lighter dark surface.
Best for: Technical documentation, developer references, code-heavy documents, sharing in developer contexts.
Sepia
Warm cream background (#fbf6ee), brown body text, amber borders and headings. Feels like reading a printed book — excellent for long-form documents meant to be read carefully.
Best for: Long-form writing, essays, technical guides, documents that will be read end-to-end.
Minimal
Pure white, maximum whitespace, no decorative colour. Borders, blockquotes, and dividers all in slate. The closest thing to a clean academic paper or printed book.
Best for: Academic papers, formal reports, print-first documents, proposals, anything needing authority.
Ocean
Deep navy background (#102535), muted blue body text, teal headings and links. More atmospheric than Dark — a distinct nautical palette that commands attention.
Best for: Portfolio documents, creative technical writing, developer showcases, presentations.
Every theme ships with a carefully matched highlight.js code theme. This means code blocks don't just look styled — the syntax colours harmonise with the document palette instead of clashing with it.
To activate highlighting, just specify the language after the opening triple-backtick: ```typescript, ```python, ```bash, and so on. If no language is specified, the block renders as plain monospace.
| PDF Theme | Code Theme | Character |
|---|---|---|
| Light | GitHub | GitHub syntax theme — red keywords, purple function names, blue variables, dark-grey comments. Familiar to anyone who reads code on GitHub. |
| Dark | GitHub Dark | GitHub Dark syntax theme — coral/red keywords, soft purple function names, sky-blue variables, light-green strings. High contrast on dark backgrounds. |
| Sepia | a11y-light | a11y-light syntax theme — warm amber/orange for numbers and types, dark red for variables, green for strings and symbols. Designed for accessibility, easy on sepia tones. |
| Minimal | Stack Overflow Light | Stack Overflow Light syntax theme — blue keywords, purple attributes, brown/orange literals. Clean and restrained — syntax colour without distraction. |
| Ocean | Nord | Nord syntax theme — cool arctic blue keywords and tags, teal function names, soft green strings, lavender numbers. Perfectly matched to the ocean colour palette. |
Syntax highlighting is applied in both the live preview and the exported PDF — what you see is exactly what you get.
The font dropdown covers the main use cases for technical and professional documents: clean sans-serifs for documentation, warm serifs for long-form reading, and monospace options for code-first documents. Google Fonts are loaded on-demand — they appear in the live preview and are embedded in the exported PDF via a stylesheet link.
| Font | Type | Notes |
|---|---|---|
| System Sans | Sans-serif · System | Your OS's native UI font — no loading delay, crisp at any size. The default. |
| Inter | Sans-serif · Google | Designed for screens. Excellent readability at all sizes. Best for technical docs. |
| Roboto | Sans-serif · Google | Clean, neutral. Great for documentation with an Android or Material Design feel. |
| Open Sans | Sans-serif · Google | Humanist and very readable at small sizes. Good for dense, body-heavy content. |
| Lato | Sans-serif · Google | Slightly warm geometric feel. Suits business reports and professional documents. |
| Georgia | Serif · System | Classic web serif. Excellent for long-form reading and print-first documents. |
| Merriweather | Serif · Google | Designed specifically for screen readability. Perfect for long technical writing. |
| Playfair Display | Serif · Google | High-contrast, elegant. Great for cover pages, proposals, and portfolio documents. |
| JetBrains Mono | Monospace · Google | Developer-focused with excellent ligatures. Makes the full document feel like a code artifact. |
In addition to the font family, you can control font size (10–20 px), line spacing (1.2–2.5), and margins (None / Narrow / Normal / Wide). All changes are reflected instantly in the live preview.
Three optional extras can be toggled on with a single click in the Extras panel:
Cover page
Auto-generated from your document. The tool extracts the first H1 as the title and the first paragraph as the subtitle. A Document type label (Document, Report, Guide, or Notes) and a generated date are added automatically. No manual configuration.
Table of contents
Built from all H1, H2, and H3 headings in the document. Each entry shows the heading level and links to the correct section in the PDF. The ToC page is inserted between the cover and the body content.
Page numbers
Incremental page numbers appear at the bottom right of every page. If a cover page is enabled, the cover is page 1 and the ToC (if enabled) is page 2. The body content picks up from there.
All three extras are reflected live in the preview pane before you export — including the cover page layout and the ToC entry list.
The PDF exporter supports two powerful extensions beyond standard markdown. Both render live in the preview pane and are included in the exported PDF.
Write diagrams in plain text using a ```mermaid code block. Flowcharts, sequence diagrams, ER diagrams, Gantt charts, and class diagrams are all supported. Diagram colours are theme-aware — the node and arrow colours automatically match your selected PDF theme:
LaTeX math syntax is supported via KaTeX. Use $...$ for inline math and $$...$$ for block display formulas. KaTeX renders crisp vector math suitable for technical, scientific, and academic documents:
Both features work across all five themes and are included when you export to PDF.
Open the tool
Go to markdownutils.com/pdf — no account, no install.
Paste or upload your markdown
Type directly in the editor, paste from your clipboard, or click Upload to load a .md file from your computer.
Pick a theme and font
Choose one of the five themes — the live preview updates instantly. Adjust font size, line spacing, and margins to taste.
Optionally add cover, ToC, page numbers
Toggle extras in the Output panel. The preview reflects every change immediately.
Click Export PDF
Your browser's print dialog opens. Select Save as PDF. Enable Background graphics to preserve coloured themes.
📄
Free, instant, no sign-up. Paste your markdown and export with one click.