Toolvore

Extract Text from PDF

Pull all readable text out of a PDF file.

This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.

PDF text extraction that pulls the selectable text out of a document and hands it back as plain text you can paste elsewhere — reading the document's own text layer rather than looking at the pixels.

How to use it

  1. 1Drop in the PDF; the engine loads and reports progress page by page.
  2. 2Wait for it to work through the document — long files take a moment.
  3. 3Copy the extracted text.

Example

Input
A 2-page PDF with a heading on each page
Output
Toolvore page one\n\nSecond page here

Pages are separated by a blank line, and runs of whitespace are collapsed, so the text pastes cleanly. A scanned PDF has no text layer at all — nothing will come out, and you are pointed at the Image OCR tool instead.

What happens to your data

Reading is done by pdf.js compiled into the page, so the file is parsed in a worker inside your own tab. Nothing is uploaded — this tool previously sent the PDF to our server, which was removed because PDFs are so often the documents people least want on someone else's machine.

Last updated August 2026

You need the words out of a PDF and the PDF is not cooperating. Dragging across a paragraph picks up the header and the page number, what you paste arrives with a line break after every seventh word, and a forty-page document is not something you are going to retype.

Before you drop anything in, work out which of two kinds of PDF you are holding, because only one can be read this way. A file exported from a word processor or a browser carries a text layer: the characters are in the document as characters. A file made by a scanner or a phone camera carries a photograph of a page and nothing else. The test — try to drag-select a single word. If individual letters highlight, the text is there. If the whole page goes blue in one rectangle, there is nothing to extract and no extractor can invent it; that is a job for OCR.

The other thing to settle is how much structure you expect back. What comes out is running text — one block per page, and the blank line between pages is the only formatting there is. Line breaks inside a page do not survive, so a table arrives as its cells in a row. For prose that is what you want; for anything whose meaning lived in the layout, plan on rebuilding it by hand.\n\nA PDF text extractor answers several searches at once \u2014 convert PDF to text, get text from PDF, copy text from PDF \u2014 and the last of those is the tell. People arrive here because selecting and copying inside a reader gave them a mess, or nothing at all. Pulling the text out wholesale avoids the selection problem entirely, and if it still comes back empty the document is a scan, which is a different job.

How it works

Toolvore reads the file with pdf.js, the engine Firefox uses for its own PDF viewer, loaded on demand and run in a worker so a long document does not freeze the tab. Each page is asked for its text content, which arrives as a list of positioned string fragments; those are joined with a single space, runs of whitespace collapse to one, and pages that produced nothing are dropped rather than left as gaps. The fragments are taken in the order the file lists them and are never re-sorted by position, so a page laid out in columns or built as a table comes back in whatever order its generator wrote it, and every line break inside a page is gone. Nothing of the appearance survives — no bold, no font sizes, no images. Your document is never modified and no new file is made; the text lands in a read-only box with a copy button.

Common use cases

  • Lifting a clause out of a contract to quote in an email
  • Getting a report into a notes app or a chat prompt as plain text
  • Checking whether a PDF has a real text layer before sending it on
  • Recovering the wording of a form when the original document is gone
  • Copying a reference list out of a paper without retyping it
  • Feeding a long document into a word counter, translator or spellchecker

Frequently asked questions

How do I copy text from a PDF that will not let me select it?

There are two reasons a viewer refuses. Some PDFs carry permission flags asking readers not to allow copying; the characters are still in the file, and reading the text layer directly gets them, because those flags are a request to the viewer rather than a lock on the data. The other reason is that there is no text at all — the page is a picture, and the viewer is finding nothing rather than withholding it. Drop the file in and see: if you are told no selectable text was found, it was the second case.

Why does my extracted text come out as one long paragraph with no line breaks?

Because the line breaks were never text. In a PDF a line ends where the next run of characters happens to be drawn elsewhere on the page; there is no newline character to preserve. Any extractor has to guess, and the guess made here is to not guess at all — fragments are joined with a single space and every run of whitespace collapses to one, so a page comes back as continuous prose. For paragraphs that is the more useful shape. For poetry, code or addresses it is a loss you repair by hand.

How can I tell whether a PDF is scanned or has real text?

Try to select a single word: real text highlights letter by letter, while a scan highlights the whole page in one rectangle. Use the viewer's find command on a word you can plainly see; a scan returns no matches. Compare file size against page count — a fifty-page typed document is often smaller than a two-page scan, because a scan stores a photograph of every sheet. A file can be both: many scanners run OCR and weld an invisible text layer behind the picture, and those extract perfectly well.

Is my PDF uploaded anywhere when the text is extracted?

Nothing leaves your device. The file is read by pdf.js compiled into the page, so parsing happens inside your own tab, and the only thing fetched over the network is the engine's own code, once. Your PDF is handed in as an array buffer straight from disk and never travels. This page used to work the other way, posting the document to a server, and that was removed because a PDF is so often the thing someone least wants in a stranger's logs — a contract, a payslip, a letter from a hospital.

Why do words run together or come out with odd spacing?

Spaces in a PDF are frequently not characters at all — the generator moves the drawing position along instead, so anything reading the file has to infer the gap. The approach here is to put a space between every fragment, which errs towards splitting a word rather than jamming two together. Ligatures cause the other surprise: fi and fl are often stored as a single glyph. Worse, a document built with a subset font and no character map cannot say which letter each glyph represents, and the text emerges as convincing-looking nonsense.

Can I extract text from a password-protected PDF?

Not if a password is needed to open it. There is nowhere to type one, and such a document fails to load — you are told it may be encrypted, password-protected or corrupted, three states hard to tell apart from the outside. If you know the password, open the file in any reader, save an unprotected copy, and extract from that. The more common case is a document with an owner password only: it opens for anyone and merely asks viewers to disable printing or copying, so it extracts normally.

How do I get a table out of a PDF and into a spreadsheet?

Plain text extraction is the wrong instrument and will cost more time than it saves. A table's meaning is in its geometry — this number sits beneath that heading — and geometry is exactly what is discarded when a page becomes a run of words. You get every cell in a row with nothing marking where one column ended. If the table started life in a spreadsheet, ask whoever sent the PDF for the original; that beats any extraction. Failing that, the tools built for this rebuild the grid from each fragment's coordinates.

What is OCR, and when do I need it instead?

OCR, or optical character recognition, looks at the pixels of a page and works out which letters they depict — a different operation from reading characters already in the file. You need it for anything scanned or photographed, and it is never quite perfect: accuracy depends on how straight, clean and high-resolution the page is, and it cannot tell you when it has guessed wrong, so figures want checking by eye. When no selectable text is found, you are pointed at the image OCR tool here, which takes an image rather than a PDF.