Image to text — without uploading the document
Read the text out of a photo, a screenshot or a scanned PDF. The OCR engine runs on your machine, so the document stays there.
The things people put through OCR are payslips, passports, medical letters, bank statements and signed contracts — and every free "image to text" site uploads them to a server to do it. This one downloads a 6MB engine once and reads the pages on your device. It also handles scanned PDFs, which is the missing half of a scan: the file has no text layer, so searching it does nothing until something actually reads the pixels.
Questions people ask
Is my document uploaded?
No. The OCR engine is downloaded to your browser and runs on your own device. Nothing is transmitted, and the uploads counter in the top bar stays at 0. That matters here more than almost anywhere on this site — the documents people run through OCR are payslips, passports, medical letters and contracts.
Can it read a scanned PDF?
Yes, up to 30 pages at a time. Each page is rendered locally and read in turn. This is the missing half of a scanned document: the PDF contains only pictures of text, so searching or copying does nothing until something actually reads the pixels.
How accurate is it?
Very good on clean, straight, printed text, and it shows a confidence score per page so you can see where it struggled. Handwriting, heavy skew, low resolution and decorative fonts all hurt it. Straightening the scan before you run it helps more than anything else you can do.
Which languages does it support?
English for now. Each additional language is a separate model file, and bundling every language would mean a very large download for people who only need one.
Does it work offline?
After the first run, yes. The engine and the language data are cached by your browser and by this site's service worker.
How this works & why it’s private
This is Tesseract, the long-standing open-source OCR engine, compiled to WebAssembly and running in a worker thread in your tab. The engine, the English language data and the PDF renderer are all served from this domain rather than a CDN, so no third party sees your document or your IP address. A PDF is rendered page by page to a <canvas> at twice its natural size — OCR needs pixels, and a page rendered too small reads badly — and each canvas is passed to the engine in turn. Nothing is uploaded at any point; open your dev-tools Network tab and watch while it works.