MiniPNG

MD to PDF Converter

Convert Markdown .md files into a print-ready PDF that keeps your tables, code and headings.

100% Free Secure & Private
Drag & Drop

or click to browse from your device

Convert Markdown to PDF without losing the document

Markdown is written for a screen that scrolls. A PDF has pages, and pages have edges. Most converters ignore that difference: they hand the file to a browser, press print, and send back whatever falls out. That is why a table loses its last four columns, why a heading ends up stranded at the foot of a page, and why the logo at the top of a README arrives as a line of raw HTML printed as text. This one lays the document out for paper first, and then tells you what it had to do to get there.

Tables that still fit the paper

A Markdown table carries no column widths. The syntax has nowhere to put them, so a converter that passes the table straight to a browser is hoping it happens to fit. Every table here is measured before it is drawn and sized to the paper you picked. A table of file paths fourteen columns wide still lands inside the margins, with long values wrapping rather than running off the edge, and the result says that it had to go that far.

The quieter half of the problem happens on page two. A long table usually leaves its header row behind on page one, so the reader gets a grid of unlabelled numbers. Here the header repeats on every page the table reaches, and a row is never cut in half by a page break.

Code that survives the margin

Fenced code keeps its highlighting and its language label. Long lines wrap so that you can see they wrapped, instead of being clipped where the paper ends. A PDF has no scrollbar, so a line that does not wrap is a line with its right-hand side missing. Indented blocks, fences with no language on them, and inline code all come through as what they are.

The pictures in your README

A logo and a row of build badges are almost never written in Markdown. There is no way to centre a picture in it, so README files reach for raw HTML instead. A converter that refuses to render HTML usually escapes it rather than dropping it, which means the document opens with a screenful of image tags printed as text. Here the markup is stripped and the pictures and the words inside it are kept, so the top of the document looks like the top of the document.

Images are fetched and embedded in the file rather than linked to, so the PDF still works offline and still works in a year. If one cannot be fetched, the result counts it and says so instead of quietly leaving a gap where a picture should be.

Your headings become the navigation

Every PDF carries a bookmark tree built from your own headings, so a long document can be moved through from the sidebar instead of scrolled. Ask for a contents page and you get a clickable one as well, at whatever heading depth you choose. A single heading at the very top is read as the title of the document and left off the list, the way a title behaves in a book rather than a chapter.

Footnotes stay footnotes, with a raised marker and a link back to the line you were reading. Task lists keep their boxes, ticked and unticked. Note, warning and tip callouts keep their colour bar. Front matter at the top of the file is treated as metadata and stays off the page. Definition lists, strikethrough, nested quotes and three levels of nested list all render as themselves.

It tells you what it could not do

Every conversion comes back with a short account of itself: how many pages, which direction the text runs, how many tables, how many code blocks, how many images were embedded and how many could not be fetched. If a font was missing a character, it lists the character. If you asked for a contents page and the document has no headings to put in it, it says so rather than handing you a file with a blank page at the front. A converter that hides its own failures is the reason people stop trusting converters.

Scripts that are not Latin

Fonts travel inside the PDF, so a document opens the same way on a machine that has none of them installed. Right-to-left text is judged block by block rather than once for the whole file, which matters because a technical document in that kind of script is often half Latin by character count, full of file paths and class names, and still reads right to left. Fenced code is kept out of that decision and always set left to right, and the rest of the layout mirrors properly: bullets, quote bars and table columns all move. Where a script has no italic, emphasis is set as weight rather than by slanting letters that were never drawn to slant.

What it will not do

LaTeX is not rendered. A block between dollar signs prints as the text it is. Mermaid is not drawn either: a fence marked mermaid comes out as a code block with a label on it. Chinese, Japanese and Korean fall outside the fonts the tool carries, so characters in those scripts are reported as missing rather than guessed at. These are limits rather than defects, and they are written down here so that nobody discovers them after uploading.

The practical part

Upload from your device, from Google Drive, or by pasting a link to a file. Markdown files are accepted under any of their usual extensions, and so is plain text. Paper can be A3, A4, A5, Letter, Legal or Tabloid, portrait or landscape, with narrow, normal or wide margins. Page numbers and syntax highlighting are on unless you turn them off. Send one file and a PDF comes back; send several and they arrive as a ZIP, or as one merged PDF with continuous page numbering if you ask for that. The text stays real text, so it can be selected, searched and copied out, rather than flattened into a picture of words.

What you get

  • Tables that stay inside the margins, with the header row repeated on every page they reach
  • Syntax-highlighted code with wrapped long lines instead of clipped ones
  • Images embedded in the file, including the ones written in raw HTML
  • A bookmark tree from your headings, and a clickable contents page when you want one
  • Fonts carried inside the PDF, so the file looks the same on every machine that opens it
  • A written account of anything the converter could not do, including missing glyphs and images

What's next?

Working from a Word file instead? Word to PDF takes the same route to paper. Put the result together with the rest of a report using Merge PDF. Then bring the file size down before you send it with Compress PDF.

Frequently Asked Questions

Because a Markdown table carries no column widths, so a converter that passes it straight to a browser ends up with a table wider than the paper and loses the last columns off the edge. This one measures every table first, sizes it to the page you chose, and repeats the header row on every page the table reaches.

Yes. Images are fetched and embedded in the PDF, including the ones written in raw HTML, which is how most README files centre a logo or lay out a row of build badges. If an image cannot be fetched, the result counts it and tells you, instead of quietly handing you a document with a gap in it.

Yes. Nothing is flattened into a picture, so you can select the text, copy it and search it. The PDF also carries a bookmark tree built from your own headings, so a long document can be moved through from the sidebar, and you can add a clickable contents page as well.

Yes. By default each file comes back as its own PDF inside a ZIP. Turn on the merge option and they come back as a single PDF with continuous page numbering and one combined bookmark tree, rather than several separate PDFs stapled together at the end.

A3, A4, A5, Letter, Legal and Tabloid, in portrait or landscape, with narrow, normal or wide margins. Page numbers and syntax highlighting are on unless you switch them off, and you can add a contents page and pick how deep into your headings it goes.

No. A block between dollar signs prints as the text it is, and a fence marked mermaid comes out as a labelled code block rather than a drawn diagram. Both are deliberate limits. Everything else renders as itself, including tables, footnotes, task lists, definition lists and callouts.

Using Markdown to PDF is quick and easy: upload up to 10 file(s) (.md, .markdown, .mdown, .mkd, .mdx, .txt) from your device, Google Drive, or a direct URL, adjust the settings to fit your needs, then click the 'Markdown to PDF' button. Your files are processed in seconds and ready to download right away.

Absolutely. Your files are uploaded over a secure encrypted connection (HTTPS) and processed automatically — no one ever views them. All files are automatically deleted from our servers within 1 hour, and you can remove any file instantly yourself using the trash icon.

Yes! Markdown to PDF is completely free. No registration, no email address, and no hidden costs — simply upload your files and download the results.

No downloads or installation required. MiniPNG works entirely online in your web browser, so you can use it on any desktop, laptop, tablet, or phone — Windows, Mac, Linux, Android, or iOS.

You can upload files up to 12MB each. This limit keeps processing fast and reliable for everyone.

We'd love to hear from you! Whether you found a bug, need help, or want to suggest a new tool, reach out through our Contact Us page and our team will get back to you quickly.