PDF to Text — Free, Fast & Private
Drop a PDF into the tool above and get plain text back. The PDF is opened by pdf.js in your browser, and where a page has no text of its own, a Tesseract OCR engine compiled to WebAssembly reads it on your device. No request carries your document.
It reads the text layer first, and OCRs only what has none
There are two ways to get text out of a PDF. A PDF exported from a word processor or printed from a browser holds real text, which can be read out exactly. A scan holds only a picture, which needs OCR. The tool decides page by page: a page that carries a usable text layer is read straight out, and only pages without one are rendered and recognised. A typed report with a scanned appendix gets both treatments in one run, and the result says how many pages went each way.
Twenty OCR pages per run
Recognition runs on your own device, so a run reads at most twenty recognised pages, meaning pages that need OCR. The cap counts only those pages: a long born-digital PDF carries its own text and is read end to end. If more than 20 pages need OCR, the first 20 are read and the result states how many were read and how many were skipped. Files up to 100 MB are accepted.
English, printed text only
The recognition model is English, downloaded once and cached. Latin-script names, codes and URLs inside English text usually come through, but a document in another script needs its own model and will come back as nonsense. The engine is trained on typeset text such as laser and inkjet output, receipts and typewritten pages; handwriting is not supported. Contrast, straight lines and a decent scan resolution matter most for accuracy, and a page scanned sideways should be rotated in your PDF viewer first.
Output, and proofread the numbers
You get plain text with a --- Page N --- line before each page, which you can copy or save as a .txt file. Columns are flattened into reading order, tables lose their grid and formatting is dropped. OCR slips on digits are the dangerous ones, because a wrong number looks as plausible as the right one, so check every amount, date and reference against the original page. For a single image, use Image to Text. A password-protected PDF prompts for its password in the tool.
PDF to text on real scanned and digital PDFs, measured
| File | Before | Words found | Character error rate | Time | Confidence shown |
|---|---|---|---|---|---|
| Scanned memo as a 1-page PDF | PDF · 1 page, Letter · 1.23 MB | 231 of 233 (99.1%) | 8.1% | 1.6 s | 86% |
| Scan + screenshot, 2-page PDF | PDF · 2 pages, Letter · 1.30 MB | 323 of 366 (88.3%) | 27.7% | 1.6 s | 77% |
| Born-digital PDF (typed text) | PDF · 1 page, Letter · 2.23 KB | 233 of 233 (100%) | 0% | 0.6 s | — |
Measured 2026-10-07 in Chromium 145.0.7632.6 by running this page’s tool on each file in a fresh tab (the engine and language-model load are inside the time) and comparing its text with a transcription typed from the image. Words found counts the transcription’s words that appear in the output; character error rate is the edit distance between the two texts over the transcription’s length, so handwriting, signatures and reading-order differences count against it. The files made from photos and scans start from CC0 or public-domain files on Wikimedia Commons; the scanned PDF holds the memo scan's own JPEG bytes as its one page, as a scanner's scan-to-PDF does; the 2-page PDF is the memo scan followed by MiniPx's own screenshot; the born-digital PDF is the memo's typed text set in Helvetica by the measuring script, so it has a text layer and no picture. Sizes are shown as the tool shows them (1 KB = 1,024 bytes).
