Skip to content

PDF to Markdown

Turn a PDF into clean Markdown with its heading structure intact, the right format for feeding a document to an AI tool, a wiki or a static site.

Private · on device. Runs in your browser: your file is not uploaded. No sign-up.

Nothing is uploaded, it is read on this device
Nothing is uploaded. The PDF is read in this browser tab and never sent anywhere, no account, no page limit, no watermark. You can confirm it by watching the Network tab in your browser's developer tools, or by disconnecting from the internet after this page has loaded.

A newer reason to convert a PDF

For twenty years, converting a PDF meant wanting to edit it. A growing share of the reason now is different: people want to give a document to a language model, and they want to know exactly what it is receiving.

That is a different job with different requirements. You do not need the layout. You do not need pagination. You need the words, in the right order, with enough structure that a heading is recognisable as a heading, and you want to be able to read the result yourself before you send it.

Markdown is close to ideal for that, and Word is close to the worst option.

Why Word is the wrong target here

A .docx is a ZIP of XML. Handing one to a model means either the model unpacks it, or a library converts it back into text first, and if the answer is the second, you have converted twice and lost control of what happened in between.

Plain text is the opposite failure. It carries the words and discards every signal about how they relate. A section heading is indistinguishable from a sentence fragment, so the model has to infer the document's shape from prose alone, and it frequently infers wrongly.

Markdown sits between them. It is text, so nothing needs unpacking. But a leading # costs one character and preserves the outline that tells a reader, human or otherwise, how the document is organised.

Reading order matters more than it seems

On a two-column PDF, a naive extractor reads across the page and interleaves the columns. A person spots this instantly, because the result is gibberish.

A language model does not. It receives a document that looks like prose and quietly means something else, and it will answer questions about the scrambled version with complete confidence. Bad extraction does not produce a visible error; it produces a plausible wrong answer.

This converter detects columns geometrically and reads each one in turn, and tells you when it found them, so you know which kind of document you are dealing with.

What to strip before sending

Conversion is a good moment to look at what you are about to hand over, because it is the last point at which the document is entirely under your control.

Personal data you do not need. Names, addresses, account numbers and dates of birth are frequently irrelevant to the question you are asking, and easy to delete from Markdown before pasting.

Boilerplate. Repeated page headers, footers, confidentiality notices and "page 4 of 37" markers add tokens and no meaning. Page numbers and headers repeated at the same place on every page are left out for you; anything else is worth a look.

Anything you are not entitled to share. A document being convenient to convert does not make it yours to send to a third-party service. That judgement is unavoidably yours.

If you want to edit it instead

The Word converter uses the same document model and writes real paragraphs with heading styles, rather than the text boxes most converters produce. Same reading-order and paragraph work, different output format.

And if nothing at all came out, your PDF is a scan, see what that means, and how to check in ten seconds.

Frequently asked questions

Why Markdown rather than plain text?

Because plain text throws away the structure, and structure is most of what makes a document comprehensible. Markdown keeps the headings as headings, one line each, costing almost nothing, so a language model can tell a section title from a sentence, and you can navigate the result. Plain text gives you a wall in which everything looks equally important.

Why not just upload the PDF to the AI tool directly?

Sometimes that is right, and if the tool handles PDFs well it is less work. Converting first helps in three situations: when you want to see and edit exactly what the model receives, when you are pasting into a context window and want to spend the tokens on content rather than layout artefacts, and when the document is confidential and you would rather strip it down and check it before sending anything.

Does it keep tables?

Yes, where the columns line up. A PDF does not record that cells belong to a table, it records text at coordinates, so the grid is worked out from where the text sits and written as a Markdown table, with numeric columns right-aligned. Check complex tables against the original; for a document that is mostly tables, the PDF table to Excel tool gives you a spreadsheet.

What about images?

They are not carried across. Markdown references images by path, and there is nowhere to put them when everything runs in your browser with no storage. Instead a note such as "[Image on page 3 not included]" marks each page that had them, and the result lists those pages, so you know exactly what is missing.

Is my document uploaded?

No. It is read in this browser tab and never transmitted. That is worth something here in particular: a common reason to convert a document for an AI tool is to check what is in it before deciding whether to send it anywhere.

Does it handle multi-column PDFs?

Yes, columns are detected geometrically and read one at a time, top to bottom. This matters more for AI use than for human reading: interleaved text does not merely look wrong, it changes what the document appears to say, and a model has no way to tell that the ordering was corrupted.