LocalUtils logo
LocalUtils

Extract text from images

Turn text in images into editable text.

Open tool

Steps

  1. Crop the source to the relevant text and correct its orientation before upload.
  2. Use a sharp image with even lighting, adequate resolution, and strong foreground/background contrast.
  3. Run recognition and watch the progress indicator while the worker processes the image.
  4. Copy the result into an editor, preserve line breaks only where useful, and compare names, numbers, punctuation, and ambiguous characters with the image.

Supported formats

  • Input: image types the browser can decode and Tesseract.js can read.
  • Recognition language: bundled English data in the current interface.
  • Output: plain text copied or downloaded by the user.

Things to know

  • Handwriting, curved text, tables, multi-column layouts, decorative fonts, and low-resolution screenshots reduce accuracy.
  • The output does not preserve semantic structure or reliably reproduce tables.
  • English language data will misread many non-English words and characters.
  • OCR confidence is not proof that a number or name is correct.

Troubleshooting

  • If output is empty, crop closer to the text and increase contrast.
  • If lines appear in the wrong order, process smaller regions separately.
  • If digits are confused with letters, verify every occurrence against the image rather than applying a blind replacement.

Common questions

Can it recognize handwriting?

It may produce partial results, but the current general English model is intended primarily for printed text.

Why is the first run slower?

The browser may need to download and initialize the OCR worker, WebAssembly, and English language assets.

Is OCR output accessible by default?

Plain text can help create accessible material, but reading order, headings, tables, and corrections still require human editing.

Test results

Test results

ocr-accuracy-study

Tested

Recorded environment

Browser
Google Chrome 150.0.7871.182
OS
Windows 11
App revision
86b9bd1+working-tree

Exact test method

Run the four generated cards through the current English Tesseract worker and compare normalized output with ground truth.

Independent check

Calculate character error rate from the downloaded ground-truth text.

Synthetic fixtures

manifest.json · SHA-256
Recorded browser output
Recorded browser output68.6 KB · SHA-256 931e9f262f076c76…

Recorded observations

MeasureExpectedObservedStatus
language_modelengengMatched
clear_32px_cerrecorded_not_thresholded2.7%Recorded
small_16px_cerrecorded_not_thresholded1.3%Recorded
low_contrast_cerrecorded_not_thresholded0.0%Recorded
rotated_noisy_cerrecorded_not_thresholded0.0%Recorded

Scope limits

The values describe these fixtures on the recorded browser; they are not an accuracy guarantee for other images or languages.