← Back to Tools
📝

Text Extractor (OCR)

Extract text from images and screenshots

Loading tool...

How Tesseract.js OCR works in your browser

This tool runs Tesseract.js v4 — a WebAssembly port of Google's Tesseract OCR engine, originally developed at HP Labs in the 1980s and open-sourced (then maintained by Google) since 2006. The WASM binary includes a pre-trained LSTM (Long Short-Term Memory) neural network that recognises Latin character sets — the same core recognition model used by Google Docs' built-in "Open with Google Docs" OCR feature.

The binary (~12 MB) is cached in your browser after the first load. All recognition runs on your CPU inside a Web Worker — no image data leaves your device.

What affects OCR accuracy

Accuracy varies significantly depending on the input image quality. Here's what to expect:
Input typeTypical accuracy
Screenshot of a PDF or digital document98–99%+
High-resolution scan, flat document95–98%
Phone photo of a document (good light, flat)85–95%
Phone photo with glare, shadow, or angle70–85%
HandwritingNot supported (Tesseract is trained on printed fonts)

Tips to improve accuracy:

    1. Crop the image to just the text area before uploading — extraneous backgrounds add noise
    2. Ensure the text is horizontal (not rotated more than ~15°)
    3. Higher resolution = better results; if you have a choice, use a 300 DPI scan over a 72 DPI screen capture
    4. High contrast (dark text on light background) gives best results

How to use the Text Extractor

  1. Upload an image — Drop a screenshot, photograph, or scanned document (PNG, JPEG, or WebP).
  2. Tesseract.js runs recognition — The engine pre-processes the image (binarisation, deskew), segments text blocks, then classifies each glyph using the LSTM model.
  3. Copy the extracted text — The result appears in an editable text box. Correct any recognition errors, then click Copy.

Why use this over a cloud OCR API?

Cloud OCR services (Google Vision API, AWS Textract, Adobe Acrobat online) upload your image to their servers for processing. For most images this is fine — but for confidential documents like:
    1. Tax returns and financial statements
    2. Contracts and NDAs
    3. Medical records
    4. Passport or ID scans
...you may not want an external service to have access to that data. Tesseract.js processes everything locally — the raw image and the extracted text never leave your browser tab.

FAQs about Text Extractor (OCR)

Everything you might be wondering — answered.

Which OCR engine and version does this use?+
Tesseract.js v4, a WebAssembly port of Tesseract 4.x. Tesseract 4 introduced an LSTM (neural network) recognition layer on top of the legacy character-classifier, significantly improving accuracy on printed text — especially at small font sizes and with slight skew.
What accuracy can I expect?+
For clean, high-contrast printed text (e.g., a screenshot of a PDF or document): typically 98–99%+ accuracy. For photographed documents with perspective distortion, shadows, or reflections: 80–95%. Handwriting is not supported — Tesseract is trained on printed fonts only.
What languages are supported?+
The browser build ships with the English (eng) trained data only, to keep the WASM download size manageable (~12 MB). Multi-language support requires loading additional language pack files, which we plan to add as an option in a future update.
Is it safe to run OCR on confidential documents?+
Yes. Tesseract.js runs as a Web Worker inside your browser sandbox. The image data and extracted text never leave your device. This makes it safe for invoices, contracts, and identity documents that you'd never want to upload to a cloud OCR API.