100% client-side · zero server uploads

Markdown to PDF,
without losing the hard parts.

Diagrams, equations, and dense code blocks render natively — and your pages break exactly where you configure them to.

Mermaid
Native SVG
LaTeX
Via KaTeX
Breaks
Auto-avoid
document.md
# Quarterly Engineering Report
 
## System Architecture
```mermaid
graph LR
A[Client] --> B[Edge]
B --> C[Origin]
```
 
Latency target: $p_{99} < 200ms$
Workspace Engine

Write, preview, export

Paste your markdown tree or import a local file structure. Your layout configuration and string data run entirely sandbox-isolated within your current tab context.

source.md40 lines
compiled_preview
0 words|0m read

No input buffer string streams detected.

Exports natively using targeted vector page layouts. Select Save as PDF within your operating system print sub-dialog workspace.

Privacy Verifiable

Don't take our word for it — check yourself

Every part of this converter — parsing your markdown, rendering Mermaid diagrams, typesetting LaTeX, and generating the final PDF — runs inside your browser tab. Nothing you paste or upload is sent to a server. We're not asking you to trust a privacy badge. Here are three ways to confirm it yourself.

01Easiest

Turn off your Wi-Fi and try it anyway

  1. 1Disconnect from the internet, or switch your device to airplane mode.
  2. 2Come back to this page (it's already loaded, so it'll still be here).
  3. 3Paste or upload a markdown file and export it.

Why this works

If the conversion still works with no network connection, your file physically cannot have been sent anywhere — there's no connection for it to travel over. This is the fastest way to settle the question without any technical background.

Note:One honest limitation: this catches the vast majority of upload-based tools, but in theory a page could pre-cache a result while you were still online. Use the Network tab method below if you want to rule that out too.
02Most thorough

Watch the Network tab while you convert

  1. 1Right-click anywhere on this page and choose Inspect (or press F12 / Cmd+Opt+I).
  2. 2Click the Network tab, then check "Disable cache" and clear the log.
  3. 3Paste your markdown, run the conversion, and export — watch what shows up in the request list.

Why this works

Every request a page makes — to any server, anywhere — shows up here. You'll see this page's own assets load once at the start (HTML, fonts, the libraries that render Mermaid and KaTeX). What you will not see is a new request fire the moment you click convert, and nothing in the list will carry your document's text as a payload.

Note:Filter by clicking the Fetch/XHR tab if the full list feels noisy — that narrows it to the kind of request that could actually carry your file content.
03For developers

Check what the browser itself enforces

  1. 1Still in DevTools, open the Console tab.
  2. 2Look at the page's Content-Security-Policy via the Network tab → click the main document request → Headers.
  3. 3A connect-src directive scoped to 'self' (or no outbound hosts listed) means the browser will block and log an error for any script-initiated request to an external domain — not just on this load, but on every future one too.

Why this works

This is the strongest check because it isn't just an observation of what happened to be sent during your test — it's a constraint the browser enforces automatically. If a future version of this page ever tried to add a call to an external server, a correctly scoped CSP would block it outright and throw a visible console error, not let it through silently.

Note:This depends on the header actually being set correctly server-side — it's a good sign when present, but its absence alone doesn't mean a site is sending data. Combine it with the Network tab check.
Code

Regarding Source Code Transparency:This tool isn't currently open-source, so we're not going to claim "audit the code yourself" as a verification method — that wouldn't be honest if the repo isn't public. What we can stand behind is that the behavior is checkable independently of the source, using the sandbox methods outlined above. If that's not enough assurance for your workflow, that's a completely reasonable line to draw, and a fully offline, source-available CLI tool may be a better fit for your architecture.

Architecture Differences

The parts other converters skip

01
Complex elements

Mermaid diagrams and LaTeX, rendered natively

Most converters break the moment a .md file has a flowchart or an equation. This tool renders Mermaid fenced blocks to real SVG and LaTeX math through KaTeX before the page ever reaches print — so diagrams and equations show up exactly as they would on GitHub, not as broken code fences.

  • Flowcharts, sequence diagrams, Gantt and state diagrams
  • Inline ($...$) and block ($$...$$) math
  • Vector output — equations stay crisp and selectable
02
Page layout

Control exactly where a page breaks

Markdown has no concept of a page. Left alone, a PDF export will slice a code block or a table row right down the middle. This converter applies break-inside: avoid to code blocks, tables, and diagrams automatically, and repeats table headers across page boundaries.

  • Code blocks and tables never split mid-block
  • Headings stay attached to the content beneath them
  • Table headers repeat on every page they span
03
Styling

Pick a layout instead of accepting one

Default converters give you one look — usually a GitHub README in Times New Roman. Choose between a clean default, a tightened corporate report layout, a compact resume density, or a serif academic paper style, all from the export panel, no CSS editing required.

  • Four built-in print themes
  • Adjustable page size and margins
  • No CSS or template files to manage
Documentation

Common questions

How do I convert markdown with Mermaid diagrams to PDF without losing formatting?

Paste or upload your .md file into the workspace above. Any fenced ```mermaid code block is parsed and rendered to an inline SVG diagram before export, so it appears in the PDF as a real vector diagram rather than raw code text.

How do I stop markdown code blocks from breaking across pages in a PDF?

This happens automatically here. Code blocks, tables, and diagrams are exported with a break-inside: avoid rule, so the print engine keeps each one on a single page instead of slicing it at the page edge.

Can I use a custom CSS theme for my markdown PDF?

Pick from four built-in print themes (default, report, resume, academic) in the export panel. Each adjusts font sizing, heading treatment, and density without you writing any CSS.

Does this upload my file to a server?

No. Parsing, diagram rendering, and PDF export all run in your browser. The file you open or paste never leaves your device.

What markdown features are supported?

Standard CommonMark plus GitHub Flavored Markdown — headings, tables, task lists, fenced code with syntax highlighting, blockquotes, images, and links — alongside Mermaid diagrams and KaTeX math.