Skip to content
Runs on your deviceWorks offline

Convert Markdown to PDF

Turn Markdown into a formatted PDF with real headings and lists.

Markdown

Headings, lists, quotes, code blocks and rules are laid out. Tables, images and inline bold come through as the text you wrote, so nothing disappears without you seeing it — the preview shows exactly what the PDF will contain. Drop a .md file anywhere on this page to load it.

Write something first

Preview

Nothing to preview yet.What you write appears here as it will be laid out.

This is what the PDF will contain, not where its lines and pages will break — only the layout engine decides that, and it does so against the page size you chose.

Local processingNo server uploadYour files are processed in your browser and are not uploaded to our servers.

What the Markdown reader understands

The parser recognises exactly what the page layout can draw. Anything outside that comes through as the text you wrote rather than disappearing, so nothing is lost without you seeing it — the preview shows you which is which before you build anything.

Laid out

  • # … ### — Headings, three sizes
  • text — Paragraphs, wrapped and spaced
  • - item — Bullet lists
  • 1. item — Numbered lists
  • > quote — Block quotes, set apart
  • ``` — Fenced code, monospaced, indentation kept
  • code — Indented code blocks
  • --- — Horizontal rules
  • [text](url) — Links, as “text (url)”
  • | a | b | — Tables, with rules and column widths
  • :--- :-: ---: — Column alignment, per column

Passed through as text

  • **bold** — Markers removed, words kept
  • *italic* — Markers removed, words kept
  • `code` — Markers removed, words kept
  • ~~strike~~ — Markers removed, words kept
  • ![alt](url) — Images become their alt text and path
  • #### … ###### — Drawn at the third heading size
  • - - nested — Nested lists flatten to one level
  • <div> — HTML is not interpreted

Inline emphasis is dropped rather than drawn because changing weight partway through a line means measuring and drawing each run separately and keeping that correct across wrapping and page breaks. Supporting it in some positions and not others would be worse than not supporting it, so headings carry the emphasis instead.

What to know about Markdown to PDF

Paste Markdown or drop in a .md file and get a formatted PDF — headings at real sizes, bullets that indent, code in a monospaced face, quotes set apart. The text stays selectable, and nothing you write is sent anywhere.

Markdown exists because writing should not require a word processor, and it succeeds so completely that a great deal of real documentation, specifications and notes now live as .md files. The awkward moment comes when one of them has to be sent to somebody who does not want a text file — a client, a regulator, a committee — and needs to arrive as a document.

This converts one to the other, and the interesting decisions are all about scope.

The parser recognises exactly what the layout engine can draw: headings, paragraphs, bullet and numbered lists, block quotes, fenced and indented code, horizontal rules, and links. That correspondence is deliberate and it is the most important property of the tool. A parser that recognised tables while the renderer ignored them would produce silent data loss — a table in your source, a blank space in your PDF, and nothing anywhere to say so. Instead, anything unsupported comes through as the text it was written as. Pipes and asterisks in the output are ugly; content that quietly vanished is worse, because you find out about it later and from somebody else.

Code gets the most careful handling, because code is what most of these documents are full of. A fenced block is taken verbatim — nothing inside it is interpreted, so an asterisk in a shell command stays an asterisk — and drawn in a monospaced face with its indentation intact, since in code the indentation carries the meaning. A line too long for the page is wrapped rather than clipped off the edge.

Inline emphasis is stripped rather than rendered, and that is the one omission likely to disappoint. Changing weight partway through a line means measuring and drawing each run separately and keeping it correct across line wrapping and page breaks, which is a genuinely larger piece of work than it appears from the outside. Supporting it in some positions and not others would be worse than not supporting it, so the markers are removed and the words read cleanly. Headings carry most of a document's emphasis anyway, and they are drawn bold at real sizes.

Images are not fetched. A reference becomes its alt text and its path, which tells you what was there. Embedding them would mean either reaching into your filesystem or making network requests for remote ones — and a tool that promises your document never leaves the tab cannot start making requests on its behalf.

The layout engine is shared with Create PDF, so the two produce documents that look like they came from the same place. The difference between the pages is only whether your text is interpreted: this one reads Markdown, that one reads nothing at all, which is what you want when what you are pasting is an email or a log.

How to convert Markdown to PDF

  1. 1

    Bring in your Markdown

    Paste it into the box or drop a .md file onto the page. It is read on your device and no copy is sent anywhere.

  2. 2

    Check the structure

    Headings, lists, quotes and code blocks are picked out as you type, so you can see what will be formatted before you build.

  3. 3

    Choose the page

    A4 or US Letter, with a text size and margin to suit.

  4. 4

    Download the PDF

    The document is laid out in your browser and saved straight to your device.

What Markdown to PDF accepts and produces

Input
Markdown, pasted in or as a .md file.
Output
A PDF with headings, lists, block quotes, code blocks and rules laid out on real pages.
Limits
Tables, images, footnotes, nested lists and embedded HTML are not drawn — they come through as the text they were written as, so nothing disappears silently. Inline bold and italic are stripped rather than rendered. Latin script only.
Offline
Yes, entirely, after your first visit.

Why Markdown to PDF here

  • Headings, lists, quotes, code blocks and rules all laid out properly
  • Code keeps its indentation and its monospaced face
  • Text stays real text — selectable, searchable and copyable
  • Unsupported constructs come through visibly rather than vanishing
  • No account, no watermark, and nothing you write leaves the browser

Where your file goes

Nowhere. This tool runs inside your browser, and the page is served with a policy that forbids it from sending your document anywhere. You can confirm that yourself: open your browser’s developer tools, watch the Network tab, and process a file.

Questions

Which parts of Markdown are supported?

Headings, paragraphs, bullet and numbered lists, block quotes, fenced and indented code blocks, horizontal rules, and links — which come through as the words followed by the destination, since a line on a page cannot be clicked open. That is the set the layout engine can draw properly, and it covers a README, a specification, a set of notes or a piece of documentation.

What happens to tables?

They come through as the text you wrote, pipes and all. That is deliberate. Recognising a table and then not drawing it would delete your content silently — you would see a table in your source and a blank space in the PDF, with nothing to indicate anything had gone wrong. Leaving the pipes visible is uglier and honest, and it tells you exactly what the tool could not handle.

Why is my bold text not bold?

Because emphasis is stripped rather than rendered. Changing font weight partway through a line means measuring and drawing each run separately, and doing it correctly across wrapping and page breaks is a much larger piece of work than it looks. Rather than support it in some places and not others, the markers are removed so the words read cleanly. Headings, which carry most of a document's emphasis, are drawn bold and at proper sizes.

How is this different from Create PDF?

Only in whether your text is interpreted. Both use the same layout engine and produce documents that look like they came from the same place. This page reads Markdown, so hashes become headings and hyphens become bullets. Create PDF interprets nothing, which is what you want when pasting an email or a code snippet that happens to contain those characters.

Do images in my Markdown get included?

No. An image reference becomes its alt text followed by the path, so you can see what was there and where it pointed. Fetching and embedding images would mean either reading files from your disk or making network requests for remote ones, and the second of those would break the promise that nothing about your document leaves this tab.

Can I convert a README with code in it?

Yes, and code is the part handled most carefully. Fenced blocks are taken verbatim — nothing inside them is interpreted as Markdown — and drawn in a monospaced face with indentation preserved, because in code the indentation is the meaning. Lines too long for the page are wrapped rather than clipped.

Is my Markdown uploaded anywhere?

It is not. Parsing and layout both happen inside this tab, and no request carries your text. Open your browser's network panel and convert a file — nothing goes out, and the page works entirely with the network switched off.