Extract Text from a PDF Text or Scanned
Pick fast extraction for PDFs that already contain real text, or OCR for scanned pages. Both modes run in your browser, keep page numbers, and export to TXT, CSV, TSV, XLSX, JSON or HTML.
By Yasir Yaseen · Updated November 2026
Drop a PDF here
or click to browse - text PDFs and scanned PDFs up to 35 MB
Use fast extraction for normal PDFs that already contain selectable text. Use OCR mode for scanned files, printouts, screenshots, invoices, and image-based PDFs.
Steps
1. Check what kind of PDF you have
Open it in any viewer and try to select a sentence. If you can, use fast mode. If you cannot, use OCR.
2. Upload a PDF up to 35 MB
The whole document is processed; there is no page range option.
3. Choose a mode and run it
Progress is shown page by page. OCR mode is much slower than fast mode.
4. Export
Every row carries its page number, so you can filter or sort by page in a spreadsheet.
Born-digital PDFs versus scanned PDFs
A born-digital PDF, such as one exported from Word, a browser or accounting software, stores the characters themselves. A scanned PDF stores a photograph of each page. The two look identical on screen but need different tools, and picking the wrong one is the most common reason people get empty output.
The quick test is to try selecting a sentence with your cursor. If the text highlights word by word, it is born-digital. If a whole page highlights as one block, or nothing highlights, it is an image. Some PDFs mix both: a typed document with a scanned signature page, for example. Fast mode will return the typed pages and silently skip the image-only ones, so check the page numbers in the result if the count looks short.
Fast mode versus OCR mode
Both modes work through the whole file page by page. They differ in what they read and what they cost.
| Fast extraction | OCR scanned pages | |
|---|---|---|
| Reads | Characters embedded in the PDF, using pdf.js | Each page rendered to an image at twice the PDF's base size, then recognised with tesseract.js |
| Speed | Quick, mostly limited by file size | Slow; every page goes through the OCR engine one after another |
| Fidelity | Exact characters as stored in the file | Depends on scan quality; may misread characters |
| Confidence column | Empty, because nothing is guessed | Filled with a per-line value from the engine |
| Language | Any language the PDF contains | English model only |
| Fails when | The pages are images, so no text is found | The scan is blurry, skewed or low in contrast |
When fast mode returns nothing
If fast mode finds no text at all, the tool says so and suggests OCR. That means the file is image-only, or the text was drawn as outlines instead of characters, which some design tools do on export. Switch to OCR mode and run it again.
If OCR also returns nothing, the problem is the images themselves: very low-resolution scans, faint print or photographs taken in poor light. A cleaner re-scan helps more than any setting. As a workaround you can turn pages into pictures with PDF to images, straighten them with the rotate tool, and run each through Image to Text.
Limits to know about
These come from how the extraction works, not from a bug in a particular file.
- Multi-column pages: fast mode returns text in the order it was written into the file, which is not always the visual reading order. Two-column articles can interleave.
- Tables: each text fragment becomes its own row. Cells are not rebuilt into a grid, so you will need to restructure the CSV or XLSX yourself.
- Rows in fast mode are the fragments the PDF stores, which are often whole lines but can be shorter pieces, especially inside tables and headings.
- Encrypted PDFs: there is no password field. A file that requires a password to open will fail with an error, so remove the protection in the program you made it with first.
- Size: files over 35 MB are rejected, and long scanned documents in OCR mode can take several minutes and use a lot of memory, especially on phones.
Choosing an export format
TXT gives the text with a 'Page N' heading before each page, the simplest option for reading or pasting. CSV, TSV and XLSX give one row per extracted fragment with source file, page, line, confidence and text. XLSX also adds a plain-text sheet. JSON suits scripts, and HTML produces a table. Files are named after the original PDF with a '-text-extract' suffix.
Frequently asked questions
- How can I tell if my PDF is scanned?
- Try to select or search for a word in a PDF viewer. If you cannot, the pages are images and you need OCR mode.
- Why is OCR mode so slow?
- Each page is rendered to an image and recognised by the OCR engine in your browser, one page at a time. A 30-page scan takes much longer than a 30-page typed document.
- Will it keep my table layout?
- No. It extracts text, not structure. Tables arrive as separate fragments or lines that you reassemble in a spreadsheet.
- Can it open a password-protected PDF?
- No. There is no password prompt, so an encrypted file will produce an error. Remove the password in the original program first.
- Can I extract only some pages?
- Not in the tool. Every page is processed. Filter by the page column after exporting to CSV or XLSX.
- Is my PDF uploaded?
- Parsing and OCR run in your browser. OCR mode downloads the OCR engine and English language data the first time you use it.
Related tools
PDF to images
Turn pages into PNG or JPG files when you need to clean them up before OCR.
Image to text
Run OCR on a single image with a per-line confidence value.
Merge PDFs
Combine several PDFs into one before extracting text from the lot.
Further reading: PDF text extraction versus OCR: when to use each.