Reading the text that is already there
A PDF that was generated by software — exported from Word, printed to PDF from a browser, produced by an invoicing system — contains real text. Each character is stored as a glyph reference with a position, and that text layer is what makes a PDF searchable and what lets you select a paragraph in a reader. This tool reads that layer directly.
The whole operation is a read, not a conversion. Nothing is rendered, no pixels are involved, and the process is essentially instant even on a long document. What comes out is exactly the text the document author put in.
The one thing this cannot do
This is not OCR. That distinction is the difference between the tool working perfectly and returning nothing at all, so it is worth being clear about.
When you scan a page, or photograph it with a phone, the resulting PDF contains an image. There is no text in the file — a human reading it on screen is doing character recognition with their eyes, and the computer has no equivalent unless something has run optical character recognition and written a text layer back in. If your PDF comes back empty here, that is what happened, and the tool says so rather than handing you a blank file and letting you wonder.
Some scanners and document management systems do run OCR automatically, in which case the scan has a text layer and this tool reads it fine. Whether yours did is easy to check: open the PDF in any reader and try to select a word. If the cursor draws a selection box over the whole page instead of highlighting text, there is nothing to extract.
How lines get put back together
PDF stores glyphs at coordinates rather than paragraphs, so reconstructing readable lines takes some work. A justified line often arrives as many separate fragments because the renderer nudged the spacing between individual words to make the margins align.
The extractor uses the end-of-line markers where the PDF producer wrote them, and falls back to comparing vertical positions where it did not — a fragment that jumped down the page started a new line. This handles ordinary prose well. Multi-column layouts and tables are harder, because the reading order stored in the file does not always match the reading order a human would use.
Plain text or Markdown
Plain text gives you the words with a blank line between pages. It is the right choice when the text is going into another program that will do its own formatting.
Markdown adds a heading for each page and a horizontal rule between them. This is more useful than it sounds when the destination is a notes app, a wiki, or a language model — the page boundaries survive, so you can still tell where something came from in a fifty-page extraction.
Common uses
- Quoting from a report without retyping it
- Getting a contract into a text editor for comparison
- Feeding a document to an AI assistant that cannot read PDFs
- Searching a document your reader will not search properly
- Recovering text from a PDF whose source file is long gone