Structure when possible
The default engine recognizes headings, lists and tables and writes structured Markdown. Complex layouts, unusual fonts and dense tables can still need manual cleanup.
Convert one or many text-based PDFs to structured Markdown or plain text. The browser-based extractor preserves headings, lists and tables when possible, flags scanned pages, and never uploads your PDFs.
Choose PDF files or drag and drop them here.
🔒 Your PDFs are read in this browser and are not uploaded.
Counted locally with the bundled o200k_base tokenizer. Models on another
encoding split text differently, so treat this as an estimate outside o200k_base.
Applying a budget shortens every document by the same proportion, cutting from the end and
keeping each document's prefix and filename wrapper intact.
The Markdown engine (pdf-inspector, compiled to WebAssembly) keeps document structure and tells you when a PDF is scanned. A handful of PDFs use fonts it decodes incorrectly; on auto those are detected and quietly handed to the legacy engine instead. The legacy engine returns a flat wall of text with no structure — pick it only if the Markdown output looks wrong.
Collapses table-of-contents dot leaders and similar padding. Smaller output, slightly less faithful to the original.
Adds <!-- Page N --> between pages, so an LLM can cite page numbers.
Added at the start of every processed file — useful for telling a model how to treat the conversion.
Use this free PDF to text converter when you need editable content for research, notes, search, or an AI prompt. It accepts multiple PDFs, keeps their original order, and adds clear filename boundaries to the combined result. You can copy the output or download it as a Markdown or plain-text file without creating an account.
The default engine recognizes headings, lists and tables and writes structured Markdown. Complex layouts, unusual fonts and dense tables can still need manual cleanup.
If a PDF uses fonts the Markdown engine cannot decode reliably, automatic mode switches to a compatible plain-text extractor and reports that formatting was lost.
Count output with the bundled o200k_base tokenizer, trim every document to a shared token budget, add page markers, or attach a custom instruction prefix.
.md or .txt file.PDF text extraction works on documents that contain a selectable text layer. Image-only scans need optical character recognition instead. The default Markdown engine detects scanned files and flags scanned pages in mixed documents; it does not invent empty text. Use the free browser-based OCR tool for those pages, then bring the recognized text back into your workflow.
Your PDF bytes are read with browser file APIs and passed to a WebAssembly worker in this tab; they are never posted to a conversion server. The page needs a connection to load, and parser components may load on first use, but your documents stay local. Very large files are limited by your device's browser memory, password-protected PDFs are not supported by the current interface, and complex layouts should be checked before you rely on the result.