Extract text from a photo, screenshot, or scanned page using on-device OCR — nothing is uploaded anywhere. Works best on clear printed text; handwriting accuracy varies.
Choose the language(s) that appear in your image, add the image, then extract. The recognized text lands in an editable box you can fix up, copy, or download.
This tool runs Tesseract, an open-source OCR (optical character recognition) engine, directly inside your browser using WebAssembly. It reads the shapes of characters in your image and converts them into editable text — without sending the image to any server.
Add each language that might appear in the image before extracting — you can select several at once, since Tesseract reads them together in a single pass as long as the scripts don't overlap visually (for example, Latin-based languages generally combine well with each other).
OCR is rarely 100% perfect, especially on low-resolution photos or unusual fonts. The result lands in an editable text box so you can quickly fix any misread characters before copying or downloading.
Use a well-lit, in-focus photo or screenshot with the text roughly horizontal. Cropping out extra background, straightening a skewed photo, and increasing contrast beforehand (for example with the Image Compressor or any photo editor) can noticeably improve results.
OCR accuracy depends heavily on image quality. Straight-on photos with even lighting, minimal blur, and clear contrast between text and background will consistently outperform blurry or angled shots. If a scan came out skewed or low-contrast, fix that first — the recognition engine reads pixel shapes, not intent.
You can select several languages before extracting, which is useful for bilingual signage, forms, or documents. Recognition takes a little longer with more languages selected, since each adds its own model to load and check against.
No. Recognition runs entirely on your device using Tesseract compiled to WebAssembly — the image never leaves your browser tab.
It can attempt to, but accuracy on handwriting is much lower and more inconsistent than on printed text. This tool works best on clear, printed characters.
Yes — search and add every language you expect to see before clicking "Extract text." The engine reads them together in a single pass.
OCR isn't perfect, especially with low resolution, blur, unusual fonts, or busy backgrounds. Correct any mistakes directly in the editable text box before copying or downloading.
JPG, PNG, and WEBP are all supported. For best results, use the highest-resolution version of the image you have.
Yes — clean scans generally give the best accuracy of all, since they tend to have even lighting and minimal skew compared to phone photos.
📖 Related guide: Digital Note-Taking: Turning Photos and Scans Into Usable Text