A PDF is still the format people expect for a report, a set of meeting notes or a project handout, and Markdown files do not print well from a code editor. The usual workaround, rendering the file in a browser and choosing Print to PDF, adds the browser's date and address lines and can split a table row across two pages. This tool lays out the Markdown directly onto PDF pages with typographic care: headings that stay with their text, wrapped table cells and code blocks that never run off the page.
Add one file or many and receive a PDF for each, generated on your device. Nothing is uploaded, and the pages contain real, selectable text rather than pictures of text.
What the PDF looks like
Text is set in Helvetica with bold and italic variants, and code in Courier. Headings are scaled from the body size, from twice its size for a level 1 heading down to slightly smaller for level 6, and the first two levels get a thin rule underneath. A heading near the bottom of a page moves to the next page so it is never left alone. Paragraphs wrap to the margins (0.75 inch, about 19 mm, on every side), web and email links are blue and clickable, and inline code sits on a light grey background.
Lists use bullets that change shape with each nesting level, numbered lists keep their numbers, and task items print as [x] or [ ]. Block quotes are indented with a grey bar. Code blocks are drawn in a shaded box, and lines too long for the page wrap onto the next line instead of being cut off. Tables get column widths that fit their content, with cell text wrapped as needed; the bold, shaded header row is repeated whenever a table continues on a new page. The PDF's title property is set from the first heading.
When Markdown to PDF is the right tool
Sharing documentation with non-developers
A README, changelog or API guide converted to PDF can be emailed to a client or attached to a ticket, and it opens the same way on every device.
Printing notes and study material
Notes kept in Obsidian, Joplin or plain .md files print neatly at 12 or 14 pt on A4 or Letter paper, with headings and lists intact for revision.
Archiving reports and meeting minutes
A PDF is a fixed record that does not change when someone edits the source. The text stays searchable, so you can still find a decision months later.
Fonts, characters and options
The PDF is built with pdf-lib inside a Web Worker, using the standard PDF fonts that every reader has built in. That keeps the files small, because no font has to be embedded, but those fonts only cover Western European languages: English, French, Spanish, German, Portuguese, Italian, the Nordic languages and similar. Letters with an accent outside that set lose the accent (ő becomes o), and characters from other scripts, such as Arabic, Hebrew, Greek, Cyrillic, Chinese and emoji, print as a question mark. For those texts, use Markdown to Word, which keeps every script.
Two options shape the layout. Page size is A4 (the default) or Letter. Text size sets the body text to 10, 11 (the default), 12 or 14 pt, and headings, code and tables scale with it: 10 pt fits the most on a page, 14 pt is easier to read on paper. Images are not fetched, so each one is replaced by its alt text in italics, and raw HTML in the Markdown is reduced to its text, as the note above the Convert button explains.
Come usare questo strumento
- Drop one or more .md, .markdown or .txt files on the box above, or click Choose files (up to 10 MB each).
- Choose the Page size, A4 or Letter, and the Text size.
- Press Convert and wait for each file to show Done.
- Download each PDF, or press Download all (.zip) to save them in one go.
Limitations
- Only Western European characters can be shown. Other scripts and emoji appear as "?"; convert to Word instead.
- Images are not included, only their alt text.
- Code blocks have no syntax colours, and footnotes, math formulas and Mermaid diagrams are not rendered.
- Pages are not numbered. Run the finished PDF through Add Page Numbers if you need them.
- Fonts, margins and colours are fixed.