PaperKit

PDF to Text

Pull the raw text out of a PDF — no formatting, no layout, just the words in reading order. Useful for quoting, search, or pasting a document into a chat assistant without handing the file to anyone.

Drop PDF here

or click to browse

Private: files never leave your device

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.

Frequently asked questions

Are my PDF files uploaded to a server?

No — this tool runs entirely in your browser using WebAssembly and JavaScript. Your files never leave your device, which also means there are no size limits and no queues.

Does this work on scanned PDFs?

No. Extraction reads the text layer that a PDF already contains, and a scan is only an image — there is nothing to read. Run it through OCR PDF first, then extract.

How is this different from PDF to Markdown?

Same extraction, different output. Plain text gives you the words alone; Markdown additionally detects headings and bullets and marks them up, which is usually better for feeding a document into an LLM.

Why is the spacing odd in places?

PDFs store positioned glyphs rather than paragraphs, so multi-column layouts and tables can interleave when flattened to a single reading order. Simple single-column documents extract cleanly.

Nothing came out — why?

The PDF is almost certainly a scan. A scanned page is an image of text with no text layer to extract, so there is genuinely nothing there. Run OCR first to add one, then extract normally.

How is this different from PDF to Markdown?

The extraction is the same; the output differs. Plain text gives you the words alone. Markdown additionally infers headings from font sizes and turns bullet glyphs into list items, which helps when the destination renders Markdown.

More PDF tools

Advertisement