Image to Text (OCR)

Extract text from a photo, scan or screenshot. Covers JPG, PNG and WEBP images — runs entirely in your browser.

Extract text from an image

Upload an image, choose a language, then run OCR.

Drag & drop an image here, or click to browse
Supports JPG, PNG and WEBP.

    Extracted text

    Your image is processed locally in this browser tab using Tesseract.js (WebAssembly OCR). It is never uploaded to Calcooo or any server — only the OCR engine and language data are fetched from a CDN.

    How to use this tool

    1. Drag and drop an image into the box above, or click to browse and select one.
    2. Choose the language that matches the text in your image.
    3. Press Extract text and wait a moment while OCR runs.
    4. Copy the result or download it as a .txt file.

    Frequently asked questions

    Is my image uploaded to a server for OCR?

    No. Text recognition runs entirely in your browser using Tesseract.js, an open-source OCR engine compiled to WebAssembly. Your image is never uploaded.

    Which languages are supported?

    English, Spanish, French, German and Hindi are available from the language dropdown. Each language downloads a small recognition data file the first time you use it.

    Does this work on handwriting?

    It can, but accuracy is noticeably lower than on printed or typed text — Tesseract is optimized for print. Clear, neat handwriting works best; cursive or messy handwriting may produce errors.

    Why is OCR slow the first time I use it?

    The first run downloads the OCR engine and language data (a few megabytes), which your browser then caches. Subsequent runs on the same language are much faster.