Extract Text from PDF
Copy out the text and tables — even from scanned pages.
Using toolbook means you agree to our Terms and Privacy Policy.
or drag it here
One PDF file
Your files stay on your device
How to use it
Drop a PDF here to copy out all its text, plus any tables as a spreadsheet file. Scanned pages can be read too. Your file stays on your device.
Copying text from a PDF viewer often comes out jumbled — words run together and lines in the wrong order. This tool puts the text back in proper reading order for you.
Drop your PDF onto the box above. The text appears straight away, ready to copy or download. Tick “Look for tables” and any tables are also offered as a CSV file, which opens in Excel, Numbers, or Google Sheets.
Scanned PDFs are pictures of pages, so there’s no text to copy. The tool tells you when that happens and can read the words from the pictures instead. That takes a few seconds per page, and it’s worth a quick proofread afterwards.
Text from a normal PDF comes out exactly as written. Tables usually come out right on tidy, well-lined-up layouts, but check them before you rely on them.
FAQ
Why does it say my PDF has no text?
It’s a scan — pictures of pages rather than text. Use the option to read the pages and the words will be recognised from the pictures.
Can I get the tables into Excel?
Yes. Tables download as CSV, which Excel opens directly. For a proper .xlsx file, run it through CSV to Excel.
Why are my table columns wrong?
Columns are worked out from the spaces between words, so tables with drawn lines, merged cells, or wrapped text are harder. The plain text still has everything.
Does it keep bold text and headings?
No, you get plain text. If you need formatting, start from the original document instead of the PDF.
Is there a page limit?
No. Reading scanned pages is the slow part, at a few seconds each.
Can anyone else see my PDF?
No. It’s read on your device and never sent anywhere.
How it worksFor the curious
A PDF stores no paragraphs, lines, or tables — only instructions to draw runs of glyphs at coordinates. This tool reads those runs with pdf.js and rebuilds reading order from geometry: runs sharing a baseline become a line, and gaps are measured against glyph height to decide where a space belongs, because PDFs often encode no space characters at all.
Tables are inferred, not read. Each line is split where gaps are far wider than word spacing, and a group of lines only becomes a table when at least three consecutive ones break into the same columns at the same positions. Ragged rows are snapped back onto the shared column positions. The threshold is deliberately strict; turning prose into two-column “tables” would be worse than finding none. Merged cells, wrapped text in a cell, and columns separated by drawn rules rather than whitespace are the weak spots.
Scanned pages have no text layer. They are detected and left alone until you ask for OCR, which renders each page at 200 DPI and runs Tesseract over it on this page. OCR pages are labelled with their confidence, because OCR errors look like ordinary words rather than obvious corruption. Pages that already had a text layer are never re-recognised.
Output is plain text. A PDF records the font and size a run was drawn in, not that it is a heading, so bold and headings are not reconstructed. Line breaks are rebuilt, but a word hyphenated across lines stays split, and a paragraph crossing a page boundary is broken by the page marker.