Markdown to PDF
Set a Markdown file on paper, with its headings, lists, tables and code.
Drop files here
Or paste them, or pick them from this device. Nothing is uploaded: the work happens in this tab.
Files in this tab
Nothing is loaded yet.
Options
What the PDF will be called.
A multiple of the text size. 1.4 is what a book uses.
Even word spacing; an uneven right edge.
Helvetica.
Advanced
A TrueType or OpenType font to set the text in. Needed for anything the built-in typefaces cannot draw — Greek, Cyrillic, Arabic, Chinese. The file is read here, in this tab, and embedded in the PDF.
Make the PDF
Add a file to get started.
What this does
This sets Markdown on paper with the typography it deserves: headings that keep with the text they head, lists that stay together, tables with their headings repeated on every page, and code set in a fixed-width face. Page breaks refuse to leave a widow or an orphan behind — which is the difference between a document that was paginated and one that was cut every 728 points.
What it will not do
Every tool here says what it cannot do, in its own words, before you rely on it.
- A practical CommonMark, not a conforming one: headings, paragraphs, emphasis, code, links, lists, block quotes, thematic breaks and GFM tables. Reference-style links, footnotes, definition lists and raw HTML are set as the text they are written as.
- A picture is drawn only when the file carries its bytes, as a `data:` URI. A picture named by a path or an address cannot be fetched — nothing here opens a file or a socket — so its alt text is set in its place rather than a broken frame.
- A table wider than the page has its columns squeezed together to fit rather than running off the edge, so a table of thirty columns will be unreadable at any page size.
- Text is set in the standard fonts every reader already carries, so the file renders identically on a machine that has none of your fonts installed. Anything they cannot draw needs a font file, which is embedded and subsetted into the PDF with it.
- A font file you supply is used for everything: bold, italic and monospaced text are all drawn in that one face rather than in a bold, italic or fixed-width cut of it. Code blocks and columns of figures lose their alignment as a result, so supply one only when the built-in fonts cannot draw your text.
- Shaping and joining come from the font itself, and nothing reorders a line: text is drawn in the order it is given, so a line mixing right-to-left and left-to-right writing comes out in that order rather than in reading order.
Questions people ask
Which Markdown does it understand?
A practical CommonMark with GFM tables: headings, paragraphs, emphasis, code, links, lists, block quotes, rules and tables. Footnotes, reference links and raw HTML are set as the text they are written as.
My images did not appear.
A picture is only drawn where the file carries its bytes, as a data: URI. Nothing here opens a file or a socket to go and fetch one, so an image named by a path or a URL has its alt text set in its place.
Is my file uploaded anywhere?
No. The work happens in this browser tab, on your own machine. There is no server in this product to send a file to, which is why the promise is checkable rather than something you have to take on trust: open your browser's network panel and watch it do the work without making a request.
Is there a size limit, or a limit on how many files?
None that we impose. The limit is your own machine's memory, because that is where the work happens — a few hundred megabytes is comfortable on a laptop, and less on a phone. There is no daily task counter, no queue and no account.
What does it cost, and what is the catch?
Nothing, and there is no paid tier that unlocks features: the whole product is the free one. That is affordable because running it costs us nothing — your computer does the work — so there is no per-file cost to recover, no advertising and no data to sell.