OCR - Image to Text
How to use
Extracts written text from an image or scanned document so you can copy, edit or search it. Upload a clear image that contains text and wait while the tool reads it. Then copy or download the extracted text.
Step 1 of 3: Upload
- 1
- 2
- 3
Step 1 of 3 · Upload
- 1Upload
- 2Language
- 3Download
Select an image with text
Uses Tesseract.js on your device, so the image never gets uploaded
- Digitizing a scanned printed document into editable, searchable text
- Extracting text from a screenshot instead of retyping it manually
- Pulling line items and totals off a photographed receipt for expense tracking
- Converting a photo of a whiteboard from a meeting into text notes
What happens to the image before the text is read
The recognition runs on Tesseract, an open-source OCR engine originally developed at HP and later maintained with Google's support, compiled to WebAssembly so it works inside the page. Before recognition, the image is prepared the way OCR engines prefer. It is converted to greyscale and its contrast is raised, so faint text separates from the background. Small images, where the shorter side is under 900 pixels, are enlarged up to twice their size, because Tesseract reads characters much more reliably when each one is at least a couple of dozen pixels tall. Very large images are scaled down to keep recognition fast.
The layout setting tells Tesseract what kind of page it is looking at, and it changes results more than most people expect. Auto suits a normal document page. Single block suits one paragraph. Single line suits a caption or a number plate. Sparse suits screenshots of apps and websites, where short labels are scattered around the screen, and it recovers text that the document modes skip.
Language matters because the engine recognises words, not just shapes. English, Hindi, Spanish, French and German are available, as is combined English and Hindi for mixed documents. The first time you use a language its model is downloaded; after that it is cached and works offline. Printed text in a clear photo usually comes out close to perfect; handwriting, heavy stylised fonts and text on busy backgrounds are where every OCR engine struggles.
Free and private. Everything runs on your own device, with no account and no uploads.
Scanned documents, screenshots of text, photographed whiteboards, or receipts can all be turned into editable, searchable text using Tesseract.js OCR running entirely in your browser. Because the OCR engine runs client-side via WebAssembly, the image content is never sent to an external OCR API.
Accuracy is generally high for clear, well-lit printed text but drops for handwriting, low resolution, skewed angles, or busy backgrounds.
It can recognize some neat handwriting but is significantly more reliable on printed or typed text.
Tesseract.js supports many languages depending on the loaded language data; English text generally gives the most reliable results out of the box.
No, Tesseract.js runs as a WebAssembly module inside your browser, so the image is analyzed locally.
OCR is computationally heavier than simple image edits since it runs a full recognition model in WASM; larger images and older devices will take longer.
- 1
Upload the image
Select a photo or screenshot containing text.
- 2
Run text recognition
Start the OCR process and wait while Tesseract.js analyzes the image locally.
- 3
Review the extracted text
Check the recognized text output against the image for accuracy.
- 4
Copy or download the text
Copy the result to your clipboard or download it as a text file.
- ·Crop the image to just the text region first, a tighter, cleaner input improves recognition accuracy
- ·Straighten skewed or angled photos before running OCR, since tilted text reduces accuracy significantly
- ·Well-lit, high-contrast printed text gives the best results; low light and busy backgrounds hurt accuracy the most