Image to Text
Drop in a screenshot, a phone photo of a page, a JPG of a receipt. Out comes a .txt with the text from the image. The OCR engine (Tesseract, compiled to WebAssembly) runs in this tab. Your image never goes to a server. English, printed type.
Drop your image here
or click to browse
JPG · PNG · WEBP · BMP · GIF
What people actually use this for
Pulling a quote out of a screenshot of a tweet someone deleted. Copying text from a video frame. Getting the wifi password off the photo you took of the back of the router. Reading the menu from a phone snap. Grabbing the recipe off the back of a cookbook page. The common thread is text that's stuck inside pixels: you can see it, but you can't select it.
Why not just use Google Lens?
If you're already in the iOS or Android camera, Lens or Live Text is probably faster. This tool is for the cases where you have a file on your computer and want to drag it somewhere, or you want the result as an actual .txt file instead of as a clipboard paste, or the image is something you'd rather not hand to Google.
What makes OCR good or bad
Tesseract has been around for decades and powers Google Books, among many other things. On a clean printed page at decent resolution it lands at 95-99% accuracy. What ruins it:
- Text smaller than about 100 pixels tall (zoom in before screenshotting if you can).
- Anything more than a few degrees of rotation.
- JPEGs that have been re-saved a dozen times and are full of compression mush.
- Stylized fonts, italic body text, decorative typography.
- White text on a busy photo background.
Other pages on this site
For a multi-page PDF, Scanned PDF to Text does the same OCR per page and concatenates. For an iPhone HEIC, drop it here if your browser handles HEIC, otherwise run it through HEIC to JPG first.
Nothing leaves your browser
The image gets read into a canvas, the pixels get handed to the OCR worker that's running in this tab, the text comes back. There is no point in the pipeline where your file gets sent anywhere. To check, load the page on wifi, turn the wifi off, then OCR something. It keeps working because the engine is cached locally.
A few things people ask
Why are there line breaks in the middle of paragraphs?
OCR preserves the line breaks it sees. A paragraph wrapped across three lines comes out as three lines. A quick find/replace on single newlines fixes it.
Can I OCR a whole folder at once?
Not from this page. For batch jobs, use the tesseract.js npm package directly.
Will it auto-detect the language?
No. The language data on this page is English. Other scripts come out as garbage. Other languages may come later.