Convert PDF to Markdown
Extract the text from a PDF as Markdown, with headings and lists inferred from the layout. It runs in this tab, so the file is never uploaded — which is the part that matters if the PDF is confidential.
Drop a PDF here
or
Up to 25 MB. The PDF engine loads only once you pick a file.
Parsed in this tab. Your PDF is never uploaded.
What the conversion can and cannot know
A PDF is a description of where to paint each glyph on a page. It records that a word sits at a coordinate in a font at a size — and, in the general case, nothing at all about whether that word is a heading, a list item or body text. There is no structure to read, only layout to interpret.
So the structure here is inferred. Lines are grouped by baseline, the most common text size is taken as the body size, and anything meaningfully larger — or bold and short — becomes a heading, with the level following how much larger it is. Bullet characters and numbered prefixes become Markdown lists. Headers, footers and page numbers that repeat across most pages are dropped.
That works well for reports, papers and documentation, and less well for anything with a heavily designed layout. Treat the output as a good first draft to read through, not a faithful conversion.
Two honest limitations
- Scanned PDFs produce nothing. They are images of text with no text layer. The tool detects this and says so rather than handing back an empty document.
- Tables lose their grid. A PDF has no cell boundaries, only positioned text, so a table arrives as its text runs. The table generator is the faster way to rebuild one.
Why it is worth doing locally
PDFs are where contracts, invoices, medical letters and unpublished research live. Uploading one to a conversion service means handing that document to someone else's server. Here the parsing happens in a worker thread in your browser, so the file never leaves the machine — and the page keeps working with the network disconnected.
Common questions
- How do I convert a PDF to Markdown?
- Drop the PDF onto the box above or choose it with the picker. The text is extracted page by page, headings and lists are inferred from the layout, and the Markdown appears ready to copy, download or open in the editor.
- Is my PDF uploaded?
- No. The PDF is parsed by pdf.js running in your own browser, in a worker thread. Nothing is sent to a server, which is the main practical difference from the online converters that ask you to upload a file.
- How accurate is the heading detection?
- It is a heuristic, not a faithful conversion. A PDF records glyphs at coordinates and says nothing about structure, so headings are inferred from font size and weight relative to the body text. Expect a good first draft that needs a read-through, not a finished document.
- Does it work on scanned PDFs?
- No. A scanned document is images of text with no text layer to extract, so nothing comes out. That needs OCR, which is a different job and is not something the page does today — it will tell you when it detects this rather than returning an empty result silently.
- What about tables and images?
- Images are not extracted. Tables come out as their text runs rather than as Markdown tables, because a PDF does not record cell boundaries — only where each piece of text sits. The table generator is the quicker way to rebuild one.
- Is there a size limit?
- Twenty-five megabytes, which is about the point where doing this in a browser tab stops being pleasant. Everything is held in memory, so very large documents depend on your machine rather than on a server.