creatorvalet Search

Convert MD to PDF

Watch where the pages break while you edit. Runs in your browser — nothing is uploaded.

  • SECURE
  • NO UPLOADS
  • NO SIGNUP
  • BROWSER BASED
  • FREE
  • FOREVER.

Support us with a link or a share

empty document

№ 36008.5 × 11 in
Page preview

The sheets appear here as soon as there is something to lay out, and they redraw while you type.

Page size
Margin
Typeface

Times or Helvetica, with Courier for code. All three are built into every PDF reader, so the file carries no font data at all.

Markdown has no idea where a page ends

A Markdown file is one continuous stream. Headings, paragraphs, lists and fenced code follow one another in the order you typed them, and nothing anywhere in the notation records how much of that stream belongs on a sheet of paper. There is no page size in the syntax. No break character. No suggestion that paper is involved at all. A PDF is the opposite sort of object: a fixed run of rectangles, each a specific number of points tall, each holding what was placed inside it and nothing more.

Turning the first into the second therefore requires somebody to cut the stream into lengths. That cut is the whole assignment. Bold text, bullet indents, ruled tables — those have known answers and a computer finds them without help. Where the cut falls is a judgment, and it decides whether your finished file reads as a document or as four pages with a section heading stranded alone at the foot of the second one.

Markdown and PDF, in brief

Markdown
Full name Markdown
Extension .md, .markdown
Format type Plain text with lightweight formatting
MIME type text/markdown
PDF
Full name Portable Document Format
Extension .pdf
Format type Fixed-layout document
MIME type application/pdf

Where MD to PDF conversion normally goes wrong

Almost everything in this category treats the cut as an internal detail. You hand over text, a file arrives, and the layout is news to you at the moment you open it. Then the correction loop begins: guess at a margin, run it again, open the second download, compare. Three attempts later there are three files in your downloads folder with unhelpful names and you have forgotten which setting produced which.

The sheets beside the text here are drawn by the same measuring code that writes the file — not a stylesheet doing an impression of one. Every setting reaches them immediately. Widen the margin and watch a closing paragraph migrate forward. Move from Letter to A4 and the count at the top changes while you look at it. If a break lands badly, the text is editable where it sits, so a stray blank line can go without a trip back to whatever you were writing in. By the time you press the button the layout has stopped being a surprise, which is the only real difference between this and the four other results on the page you found it on.

Two typefaces, and the honest reason there are two

Every PDF reader ever written is required to render fourteen fonts without receiving any font data — Times, Helvetica and Courier among them, in their bold and italic variants. Picking serif gives you Times with Courier for code; picking sans gives you Helvetica with the same Courier. Because those names are guaranteed to exist at the far end, your file carries no glyph data whatsoever, and a twenty-page report lands well inside the size limit of any mail server that will ever see it.

A third option, as a matter of taste, would end that. A typeface outside the fourteen has to be fetched, parsed and cut down to the characters you used before one line of text can be measured — and measuring is precisely what the page sheets depend on, so the waiting would arrive before you saw anything at all. Two names already present on every machine on earth, or a progress bar standing in front of a choice nobody came here to make. That is why there is no font menu here.

When your document has characters those fourteen do not contain

The catch with the built-in fonts is that they cover Latin-1 and nothing beyond it. A Cyrillic name, a Greek symbol, a Polish ł, an arrow, a mathematical operator, or the box-drawing characters inside a fenced code block are simply not in them. They are counted here and named on screen before you convert, so a substitution is never silent.

When a real font would fix them, the tool says so and offers to embed one: DejaVu Sans, a free typeface under the Bitstream Vera license, served from this site rather than a font CDN. It is fetched only after you press the button, the size is on the button beforehand, and if your document has a code block that needs it the monospaced companion comes along so the columns still line up. Only the glyphs the document actually uses are written into the PDF, and the text remains selectable and searchable rather than becoming a picture. One limitation worth knowing: on those characters, weight and slant are not carried across — bold Cyrillic is drawn upright.

The offer does not appear when it would not help, which is the part most tools get wrong. Chinese, Japanese and Korean are not in this font and stay as ?. Neither is color emoji, which no free text font contains. Arabic and Hebrew stay as ? deliberately, even though the font does hold the letters: setting them correctly requires reordering the line right to left and reshaping each letter for its neighbors, and this tool does neither. Text in the wrong order looks finished to a reader who cannot check it, and that is worse than an obvious question mark.

Images, and the ones that stay behind

Pictures written into your source as a data URI are embedded, which covers more real documents than it sounds like: a data URI is the shape a Markdown file takes when it was exported out of something else, so material that arrived from a converter, a notebook or an archive tends to bring its images along in exactly that form.

An image pointing at a web address is left out, and this is a decision rather than an unfinished corner. Asking your browser to go and collect https://example.org/logo.png on your behalf tells that host when you opened this page, what page you were on, and enough about your machine to recognize it later — all for a document you were converting quietly. Cross-origin rules would refuse a good share of those requests regardless, so the trade offered is a real privacy cost against an unreliable result. Every skipped image is named on the receipt with its address, rather than vanishing, and either saving it and opening it as a file or pasting it in as a data URI puts it back in the next run.

Settings exist because the source cannot hold them

Nothing in Markdown describes presentation, and it was never meant to. No point size, no color, no columns, no merged table cell, no running footer, no page number. Everything a sheet of paper needs beyond the words themselves is supplied by the four controls above the preview, for the plain reason that there is nowhere in your file it could have come from instead. Structure and emphasis do travel: headings keep their levels, lists keep their nesting, pipe tables come out ruled, and fenced blocks are set in Courier on a tinted panel and split across sheets when they are too long to sit on one.

Where the notation reaches its ceiling is a longer subject and it belongs elsewhere. The Markdown editor covers what the format expresses well and what it declines to, and the Markdown to HTML converter is the same document sent toward a screen instead of a page. If what you are carrying is a pile of screenshots rather than prose, that is a different mechanism entirely and it lives at PNG to PDF. And if the source is an ordinary .txt with no notation in it at all, TXT to PDF starts from plain text and offers the same formatting step once you are there. A book-length source is a third case: an ebook arrives as a zip of chapters rather than one stream, so converting EPUB to PDF runs the same typesetting engine but takes its chapter order from the book's own spine. That pairing runs both ways — PDF to EPUB is the return trip, and it has the harder job, because a PDF stores no chapters to follow and its structure has to be inferred from type size and wording. For a source you want to edit rather than read as a book, PDF to Markdown makes the same inference boundary visible and includes a per-page conversion report.

The usual route is a toolchain, and a toolchain needs permission

Standard advice for this conversion is Pandoc, or a TeX distribution, or an editor plugin that quietly shells out to one of them. It is sound advice for a computer you administer. A full TeX installation runs to several gigabytes and its own package manager; Pandoc is a binary you put on the path. Both steps want an account that can approve them, and plenty of the people turning notes into a document at eleven at night have no such account — a lab desktop, an agency laptop where software approvals take a week, a research workstation whose image is decided centrally and rebuilt every term.

The requirement at the other end does not bend to match. A journal wants PDF. A supervisor wants PDF. A grant portal accepts PDF and nothing else, and the notes have been Markdown for months because that is what the writing app saves. Nothing here needs approving: the measuring, the pagination and the file writing came down with the page. The single thing fetched afterwards is the embedded typeface, from this site, and only when your text contains characters the built-in fourteen cannot draw.

Where the file gets written

This page has nowhere to send a document. Your text is read, measured, laid out and written into a PDF by code sitting in the tab in front of you, and the site holds no route that would accept a file — not a temporary one, not a queue, not a cache. That is a firmer statement than a deletion policy, because deleting something requires that a copy was made first, and none was.

Documentation rarely ships as a single file. Once each chapter has been written out separately, merging the PDFs assembles them into one deliverable with the chapters in the order you choose, and it happens in the browser under the same terms as the conversion above.

Preferring to check rather than believe is the correct instinct, and the steps are written up in how to verify a tool runs locally — including the test most people skip, which is to cut the connection once the page has loaded and convert anyway. The layout, the pagination and the writing carry on, because none of them ever needed the network. The one exception is the typeface described above: embedding it means fetching it, so that offer is the only step a severed connection can stop, and it is the only one that ever asks.

Have an idea for this tool?

Tell us what would make this tool more useful, or suggest another tool you would like us to build.

Questions

Where will the page breaks fall?

You can see them before you convert. The sheets beside the text are laid out with the same arithmetic that writes the PDF, so a heading stranded at the bottom of a page is something you notice and fix here rather than after downloading. Change the margin or the page size and they redraw immediately.

Are images in my Markdown included?

Data URI images are embedded, and those are what a Markdown file exported from a converter usually contains. Images referenced by a web address are not fetched: asking your browser to download someone else's image would tell that server you were here, and cross-origin rules would block most of it anyway. Any image that was skipped is named on the receipt rather than silently dropped.

Which fonts can I use?

Serif or sans — Times and Helvetica, with Courier for code. Those are three of the fourteen fonts every PDF reader is required to have, which means the file carries no embedded font data and stays small. Offering a wider choice would mean downloading a font file before the conversion could start, and no one arrives at this page wanting to pick a typeface.

Does it support tables and code blocks?

Yes. Pipe tables become real ruled tables, fenced code blocks are set in Courier on a tinted background, and both break across pages when they have to. What Markdown itself cannot express — merged cells, column layouts, colored text — is not in your source to begin with.

Is my document uploaded?

No. The document is put together where you are sitting, and the download link points at something your browser built for itself rather than at a file resting on a server. There is a second half to that promise which is easy to overlook: nothing goes out on your behalf either. An image sitting behind a web address is deliberately left alone, because retrieving it would tell that server which page you had open and roughly when — so even a note stuffed with remote links produces no outgoing traffic at all.