OCR: extract text from a scan, photo or PDF
Drop in a photo, a screenshot or a scanned PDF and get the words back as text you can correct, copy and save as TXT or Word. Recognition is done by tesseract.js running on your own processor — the file itself is never sent anywhere.
Drop a photo, image or PDF here
JPG, PNG or a scanned PDF. Everything runs in your browser.
How to extract text from a scan or photo
- Drop a JPG, PNG or PDF into the window, or click “Choose file”.
- Choose the recognition language — English, Russian, or both at once for a mixed document — and click “Extract text”.
- Watch the per-page progress, then proofread the result in the editable box and copy it or download it as TXT or Word.
What this can read — and one honest caveat
The engine is tesseract.js, the browser build of Tesseract, the same open-source recognizer behind a lot of desktop tooling. It works inside this tab on your own hardware, so your image or PDF is never transmitted to us or to anyone else. The caveat, stated plainly: the library and its trained language data are fetched from a public CDN the first time you run recognition, which means this particular page needs a working connection to start up. We will not call it an offline tool for that reason — but the connection is used to download the recognizer, never to upload your document. English and Russian are the languages available at the moment, and you can run both together on a mixed document.
Expect clean printed type to come back close to perfect and everything else to need a human pass. Ordinary book, contract and invoice pages read well. Multi-column layouts and tables lose their structure — you get the words, not the grid. Handwriting, script and decorative fonts, faded receipts, text sitting over a photograph and heavily compressed screenshots produce a mix of right and wrong characters with no way to tell them apart except by reading. Digits deserve special suspicion: a misread figure in an amount or an account number looks entirely plausible on the page.
How to photograph a page so the text comes out clean
Recognition quality is decided before you ever open this page — by the image itself. Tesseract reads letter shapes, so anything that deforms them costs accuracy: a page shot at an angle, your own shadow across the paper, a phone's smoothing and HDR processing, a page curving into the spine of a bound book. A few minutes spent on the capture beats an hour spent correcting the output.
- Lay the page flat on a plain contrasting surface and shoot straight down, keeping the page edges parallel to the frame.
- Use even, indirect daylight. Overhead room light plus your own shadow is the single most common cause of unusable output.
- Fill the frame with the page — every pixel spent on your desk is a pixel not spent on the letters.
- Tap to focus and zoom in to check before you walk away. Blurred text does not recover, and no setting here can rescue it.
- Better still, use your phone's document scan mode (Notes on iOS, Google Drive on Android). It straightens the page and flattens contrast, and the difference in the recognized text is obvious.
What to do with the recognized text
The text lands in an editable box, and it is meant to be edited there. Read it against the original once, paying attention to numbers, proper names and line breaks — Tesseract keeps the visual line endings of the page, so a justified column comes back as a stack of short lines you will want to join into paragraphs. Then use Copy for the clipboard, TXT for a plain file, or Word for a .docx you can format properly.
Two shortcuts worth knowing. If you can already select text in your PDF with the mouse, it has a text layer and you do not need OCR at all — convert it to Word and keep the exact characters instead of guessing at them. And if your source is a pile of phone photos, it is faster to turn them into a single PDF and recognize the whole thing in one run than to feed pages in one by one. Going the other way, PDF to JPG gets you a page as an image when you need to work on it before recognition; for line art, tables and screenshots, where soft JPG edges cost the recognizer accuracy, PDF to PNG is the cleaner source.
Frequently asked questions
Is it really free?
Yes — free, with no account, no page limit and no trial. Nothing is added to the text you get back.
Are my files uploaded to a server?
No. The image or PDF is decoded and recognized inside this browser tab; your document is never part of any request that leaves your machine.
Then why does the page need an internet connection?
Because the recognizer itself has to arrive first: tesseract.js and the trained data for each language — several megabytes apiece — are downloaded from a public CDN on the first run and then cached, so later runs start faster. Your file is not involved in that download. Since those files come over the network, we do not claim this page works offline.
Which languages can it recognize?
English and Russian right now, separately or together as a single pass for mixed documents. Choosing both means both data sets are downloaded, which makes the first run a little slower.
Can it read handwriting?
Realistically, no. Tesseract is trained on printed type; handwriting, calligraphic fonts and stylized logos come back as plausible-looking nonsense. Neat block capitals sometimes work well enough to be worth a try.
How many pages can it handle?
There is no fixed limit, but time is the real constraint: each page is rendered and recognized in turn, taking a few seconds per page on a laptop. A hundred-page scan is a coffee break, and the tab has to stay open while it runs.
Does it work on a phone?
It does, and photographing a document and recognizing it on the same device is convenient — but this is the heaviest tool on the site. Recognition on a phone runs several times slower, and a long PDF can exhaust memory. Use a computer for anything lengthy.