PDF
PDF to MD
Drop a PDF in and Markdown comes out. Nothing is uploaded and nothing is billed per page.
1Documents
Drag PDFs in, paste, or click to choose
A whole folder works too · Ctrl/Cmd+V pastes · on phone this opens your photo library · up to 100 MB per file
How this works
pdf.js pulls the existing text layer out of the file in your browser, giving each fragment a font name, a size and a position on the page. Layout rules turn that into Markdown. Font size relative to the page's most common size decides heading level. A monospace font name opens and closes a code block, and bullet characters or numeric prefixes become list items. The whole path is deterministic, so the same PDF produces the same Markdown every time.
What it cannot do
- A scanned PDF is a picture of a page with no text layer, and there is no OCR here. The tool says so rather than returning an empty file.
- Tables come out imperfect. PDF stores them as positioned text with no row or column structure, so anything beyond a simple grid needs checking by hand.
Questions people actually ask
- Is the output good enough to paste into an LLM prompt?
- That is the case it was built for. Headings and lists survive, which is what a model needs to follow the structure of a document, and stripping the PDF wrapper cuts the token count considerably compared with pasting raw extracted text. Check any table before you rely on what a model says about it.
- Does this use an AI model?
- No. It reads the text layer already inside the PDF and applies layout rules. Nothing is sent to a model, so there are no tokens to pay for, no rate limit, and no queue between you and your file.
- Why did the running header from every page end up in my file?
- The header stripper is deliberately conservative. It removes a repeated line only when that line appears on most pages, sits in the top or bottom 15% of the page, and holds a stable vertical position across pages. A header that drifts fails the third test and is kept, because eating real content is a worse failure than leaving a header behind.