Free Online OCR

Extract text from images and scanned documents. Everything runs locally in your browser via WebAssembly - nothing is uploaded anywhere.

Drop an image here, or click to choose a file
JPG, PNG, WEBP, BMP - screenshots, scans, and photos of text all work
preview

How this works: this page loads the open-source Tesseract OCR engine compiled to WebAssembly and runs it directly in your browser tab. Your image file is read locally by JavaScript and is never sent to any server - you can disconnect your internet after the page and OCR engine have loaded and it will still work.

Troubleshooting

Extracted text has garbled characters or wrong words

The OCR engine needs to know which language it's reading. Pick the matching language from the dropdown before running — English is selected by default, but this page also supports Spanish, French, German, Portuguese, Italian, Dutch, Russian, Chinese (Simplified), Japanese, Arabic, and Hindi.

OCR seems stuck or the first run is very slow

The first time you run OCR on a page load, your browser downloads the Tesseract WebAssembly engine and the selected language's trained data (a few megabytes). That only happens once per page load — after that, recognition itself is fast. A slow connection will make that first download take longer.

The "Extract Text" button stays disabled after I choose a file

Confirm the file is actually a JPG, PNG, WEBP, or BMP image. A HEIC photo straight off an iPhone won't load here directly — convert it with the HEIC to JPG converter first, then run OCR on the result.

Prefer the command line?

The same open-source engine this page uses (Tesseract) is also a standalone CLI tool:

tesseract image.png output -l eng

Install with brew install tesseract (macOS), apt install tesseract-ocr (Debian/Ubuntu), or from tesseract-ocr/tesseract on Windows.