About turning Markdown into a PDF
Markdown is the easiest way to write a document and the hardest way to send one.
You wrote the notes, the README, the spec, the report. It is perfect in your editor. Then somebody asks for it as a PDF, and the options are: install a toolchain, paste it into a word processor and fix the formatting by hand, or push it to a repository and screenshot the page.
Paste it here instead. The preview on the right is what the PDF will look like, and the button turns it into one.
What survives the trip
Everything you would expect from GitHub-flavoured Markdown:
- Headings — all levels, with the spacing a document should have
- Lists — bulleted, numbered and nested
- Tables — with borders and a shaded header row
- Code — inline like this, and fenced blocks with their spacing intact
- Quotes, horizontal rules, bold, *italic* and links
- Images, as long as they are data URIs or reachable URLs
The preview and the PDF are drawn from the same stylesheet, so what you see really is what gets printed. There is no second layout step to surprise you.
Two styles
- Clean document — a serif face and generous line spacing. The right choice for a report, a proposal, a piece of writing, anything a person will read end to end.
- README style — a sans-serif face with underlined headings, closer to how a README looks on a code host. The right choice for documentation and technical notes.
Page setup
A4 or Letter, portrait or landscape, and a margin you set in millimetres. Landscape is worth remembering for anything with wide tables or long code lines — it is the difference between a table that fits and a table that wraps.
Page numbers are on by default and appear centred at the foot of each page. Turn them off for a one-page document, where they only add clutter.
Nothing leaves your device
The Markdown is rendered and the PDF is written inside your browser. Nothing is uploaded, so:
- Unreleased specs, internal notes and client work stay where they are
- There is no file size limit from an upload
- It works offline once the page has loaded
- Your text is kept in this browser between visits so a closed tab does not lose your work — and only in this browser
Why the pages are painted, not typed
Each page is drawn as an image and placed into the PDF, rather than written as PDF text. That is deliberate: the standard PDF fonts cannot encode Hangul, Kana, Han or Cyrillic at all, and a Markdown document can be in any language.
Drawing the page uses your own system fonts, so every script renders correctly. The trade-off is that the text in the finished PDF is not selectable — the same trade-off Word to PDF makes, for the same reason. If you need selectable text and your document is plain Latin script, Resume Builder shows what the other approach looks like.
What people convert
- A README or documentation page, for someone who does not use a code host
- Meeting notes written in Markdown, sent on as a document
- A specification or proposal drafted in a text editor
- Study notes to print or read on a tablet
- A changelog or release note to attach to an email
- Course material written in Markdown and handed out as PDF
Good to know
- Raw HTML inside your Markdown is cleaned before rendering, so a pasted document cannot run anything
- A very long document takes a few seconds per page — the work is all local
- Images from the internet only appear if the site allows them to be read by another page; images pasted as data URIs always work
- To go the other way, or to just write Markdown, use the Markdown Editor
- To merge the result with another PDF, use Merge PDF
How to use it
- Paste your Markdown on the left, or press Open .md to load a file
- Check the preview on the right — that is what the PDF will look like
- Choose the page size, orientation, margin and style
- Tick Add page numbers if you want them
- Press Create PDF, then Download PDF
Related tools
- Markdown Editor — write Markdown with a toolbar and live preview
- Word to PDF — the same PDF engine, starting from a .docx
- PDF to Text — pull plain text back out of a PDF
- Merge PDF — join this PDF with others
- Add Page Numbers to PDF — number an existing PDF
- Compress PDF — shrink the file before sending it