This extracts the raw text of a PDF in reading order and gives it back as plain text — no headings, no layout, no formatting, just the words. It is the fastest route to quoting a passage, searching a document your reader will not search properly, feeding text into a script, or pasting a document into a chat assistant without handing over the file. That last case is worth calling out: pasting text keeps the document on your machine, and costs a fraction of what uploading a page image would. Extraction reads the text layer that born-digital PDFs carry, which means a scan produces nothing until it has been through OCR. Occasional oddities in spacing are normal and have a specific cause worth understanding. Everything runs in your browser through PDF.js, so the document itself is never uploaded.
Why the spacing is sometimes strange
A PDF does not necessarily store spaces. It stores glyphs at coordinates, and the gap between two words may be an actual space character or may simply be the next glyph being positioned further along. Extraction has to infer which, from the distance between them.
That inference is usually right and occasionally not, particularly with justified text where word spacing varies line by line, with kerned headings, and with fonts that use unusual glyph widths. The result is the odd missing space or an unexpected one, which is a property of the format rather than a fault in the extraction.
Reading order and columns
Text comes out in the order the file stores it, which for a normal single-column document is the order you read it in. Multi-column layouts are where this breaks down: if the file stores the page left to right rather than column by column, the extracted text interleaves the columns.
Academic papers and newsletters are the usual sufferers. There is no way to fix it from the text alone — the information about which column a line belongs to is visual. For those documents, extracting page by page and reassembling manually is often quicker than untangling the whole file.
Plain text or Markdown
Take plain text when you want the words unadorned: for quoting, for a search index, for a script, or for pasting somewhere that would show Markdown syntax literally rather than rendering it.
Take Markdown when the structure is useful — headings and lists inferred from the document's typography, which helps when the destination renders it or when an assistant benefits from seeing the hierarchy. The underlying extraction is identical; only the output formatting differs.