Image to Text (OCR)

From ToolzPedia, the free tools encyclopedia
This is one of several image tools. For the full list of utilities, see All tools.

Optical Character Recognition (OCR) is the technology that turns an image of text, a photo of a printed document, a scanned receipt, a screenshot of a webpage, into machine-readable text you can copy, edit, and search. Twenty years ago OCR was a paid feature of expensive desktop software; today, the same quality is freely available in the browser thanks to open-source engines like Tesseract.

The ToolzPedia Image to Text (OCR) tool runs Tesseract.js, a JavaScript port of Google's Tesseract OCR engine, entirely in your browser. It supports 17 languages out of the box (English, Spanish, French, German, Italian, Portuguese, Russian, Chinese, Japanese, Korean, Arabic, Hindi, Bengali, Urdu, Turkish, Vietnamese, Indonesian) and handles printed text reliably; handwriting recognition is not its strength but it can sometimes pick up clear printing.

Because everything runs locally, none of your images or extracted text is uploaded. The OCR model weights are about 10 to 30 MB per language and are cached after the first download.

Use the tool edit

📝
Drop an image here or click to upload

JPG, PNG, WebP, BMP, GIF · Up to 25 MB · Browser-based OCR

How to use Image to Text (OCR) edit

Follow these steps to use the tool:

  1. Upload your image

    Drop a JPG, PNG, or WebP. Higher-resolution images produce better OCR; aim for at least 300 DPI on text.

  2. Choose language

    Pick the primary language of the text in the image. Multi-language documents can use combined modes (English+Spanish, etc.).

  3. Run OCR

    Click Extract Text. First-time use downloads the language model (10 to 30 MB); after that, processing takes 5 to 30 seconds depending on image size and complexity.

  4. Copy or download the text

    The recognised text appears in a panel where you can copy, edit, or download it as a .txt file.

Details edit

💡 Tips for best accuracy
  • Use high-resolution images (300+ DPI for scans)
  • Crop tightly around the text
  • Ensure good contrast (dark text on light)
  • Avoid skewed or angled photos
  • Pick the right language for your text

Frequently asked questions edit

No. Tesseract.js runs in your browser via WebAssembly. The OCR happens locally; the language model is the only thing downloaded, and it is cached after first use.
For sharp printed text at 300+ DPI, accuracy is 95 to 99%. For phone photos of receipts, accuracy varies widely (60 to 95%) depending on lighting and focus.
Out of the box: English, Spanish, French, German, Italian, Portuguese, Russian, Chinese (simplified), Japanese, Korean, Arabic, Hindi, Bengali, Urdu, Turkish, Vietnamese, Indonesian. More can be added.
Tesseract is trained on printed text, not handwriting. Sometimes very neat handwriting works, but it is not the right tool for handwritten notes.
First-time use in a language downloads the model (10 to 30 MB). After that, OCR takes 5 to 30 seconds for typical document images.
Either the wrong language was selected, or the input image is too low-resolution or low-contrast for OCR to work. Try a higher-quality image and the right language.
Not directly in this tool yet. Convert the PDF to images first (one image per page), then OCR each.

Use cases edit

Digitising printed receipts and invoices

Convert a folder of phone-photographed receipts into searchable text for expense reports.

Extracting text from screenshots

Pulling code, error messages, or quotes out of screenshots without retyping.

Scanning old documents and books

Photograph a page of a printed book and get the text as searchable, editable copy.

Translating signs and menus

OCR text from a photo, then paste into a translation tool.

Accessibility

Generating searchable text from image-based PDFs and scans for screen-reader users.

How it works edit

Tesseract OCR works in stages. First, the input image is binarised (converted to black and white) and de-skewed (rotated to fix slight tilt). Then connected components (contiguous regions of black pixels) are identified as candidate characters. Each candidate is normalised, then matched against a trained model that recognises character shapes; the model outputs a character (or several candidates with confidence scores). Finally, language modelling is applied to choose between candidates based on which combinations form valid words in the target language.

Tesseract.js compiles the Tesseract C++ engine to WebAssembly, so it runs at near-native speed in the browser. The first time you OCR an image in a given language, the language model (about 10 to 30 MB) is downloaded and cached; subsequent OCR operations in that language are fast.

Tips and best practices edit

  • OCR quality is bounded by image quality. A blurry phone photo of a receipt produces blurry results; a sharp scan at 300 DPI produces near-perfect text.
  • Straighten the image before OCR if it is tilted more than a few degrees. Tesseract handles small skew; large skew confuses it.
  • Crop to just the text region before running OCR, extraneous areas (margins, photos, decoration) slow processing without improving accuracy.
  • For handwriting, OCR results will be poor. Tesseract is trained on printed text; handwriting needs a specialised model.

Common mistakes edit

Using low-resolution input

OCR on a 200×100 thumbnail produces nothing usable. Use the highest-resolution version of the image you have.

Not specifying the right language

Tesseract's English model on a Spanish receipt will mis-recognise accented characters. Pick the right language for accuracy.

Expecting handwriting recognition

Tesseract is for printed text. Handwriting OCR requires different tools (Google Cloud Vision, Microsoft Azure OCR).

Your files stay private. This tool processes files entirely in your browser using JavaScript. No file is uploaded to any server.

Other free image tools available on ToolzPedia:

See also edit