PaperKit

PDF to Markdown

Pull the text out of a PDF as plain text or Markdown. Larger headings become #/## headings and bullet glyphs become list items — handy for notes, LLM prompts and docs.

Drop PDF here

or click to browse

Private: files never leave your device

This pulls the text out of a PDF and marks it up as Markdown, inferring structure from the way the document looks: text noticeably larger than the body becomes a heading, bullet glyphs become list items, and paragraph breaks are preserved. The result is a plain text file you can paste into notes, a documentation repository, an issue tracker or a chat assistant. That last use is increasingly the common one — pasting a document's text into an LLM rather than handing over the file itself, which keeps the document on your machine and costs far fewer tokens than an image of every page. Everything runs in your browser through PDF.js. The limitation to know before you start is that this reads the text layer, so a scanned PDF with no text layer yields nothing until it has been through OCR.

How the structure is inferred

A PDF does not record that something is a heading. It records glyphs with positions and font sizes, and the heading-ness is something a human infers visually. The conversion does the same inference: text set noticeably larger than the surrounding body is promoted to a heading, with the largest becoming a top-level one.

That works well on documents with a consistent typographic hierarchy — reports, papers, manuals — and less well on marketing material where size is used for emphasis rather than structure. Expect to fix a few headings by hand on a design-led document; expect very little work on a plain one.

What does not survive

Tables are the big one. A PDF table is lines and positioned text with no notion of rows and columns, so it comes out as a sequence of cell contents rather than a Markdown table. Complex tables need rebuilding by hand or a purpose-built extraction tool.

Multi-column layouts can interleave, because reading order in the file does not always match visual order. Images are not carried into a text format at all. Footnotes usually land at the end of the page's text rather than beside their reference.

Markdown or plain text

Choose Markdown when the destination understands it: documentation, a wiki, an issue tracker, a note-taking app, or an assistant that benefits from seeing the document's hierarchy.

Choose plain text when you want the words and nothing else — for search, for quoting, or for pasting somewhere that would render the hash symbols literally. The extraction is identical; only the formatting applied to the output differs.

Frequently asked questions

Are my PDF files uploaded to a server?

No — this tool runs entirely in your browser using WebAssembly and JavaScript. Your files never leave your device, which also means there are no size limits and no queues.

Does it work on scanned PDFs?

Only PDFs with a real text layer. Scans are images — run OCR PDF first to add a text layer, then convert to Markdown.

Does this work on a scanned PDF?

No. It reads the text layer, and a scan is a picture of text with no such layer. Run the document through OCR first — that adds a real text layer, after which extraction works normally.

Why did my tables come out mangled?

Because a PDF table is drawn lines plus positioned text, with nothing recording which cell is in which row. The words come across; the grid does not. For data you need to work with, PDF to Excel is the better route.

More PDF tools

Advertisement