LOCAL · NO FILE UPLOADS

Image to text (OCR)

Extract text from photos, screenshots and scanned PDFs with OCR. Free, in six languages and without upload: recognition runs on your device.

JPG, PNG, WebP, HEIC or PDF up to 50 MB and 30 pages. Your file stays on your device.

Language of the text

The recognition engine and language data (about 3–6 MB) load once from ShrinkBeam. Printed text works best; handwriting, very small text and photos at an angle are often recognized poorly. Always check the result.

Getting a clean result

Text recognition works best on printed text with good contrast. Photograph the page straight from above, without shadows, and fill the frame. A screenshot is usually recognized almost perfectly. For crooked photos, straighten them first with the document scanner. Recognition runs with the open Tesseract engine directly in your browser; the first run loads the engine and the selected language data once, later runs start immediately. Large multi-page PDFs take a while on phones because every scanned page is analyzed as an image.

Workflow and result checks

  1. Choose a photo, screenshot or PDF. Sharp, straight and well-lit pages give the best result.
  2. Select the language of the text. For mixed documents tick up to three languages.
  3. Check and correct the recognized text, then copy it or save it as a TXT file.

Questions about this tool

Is my document uploaded?

No. Only the recognition engine and the language data are downloaded once from ShrinkBeam. Your image or PDF is processed in your browser and never leaves your device.

Does it recognize handwriting?

Only poorly. The engine is trained on printed text. Clear printed letters, receipts, screenshots and scanned letters work well; handwriting, tables with lines and decorative fonts often contain errors.

Why is my PDF processed so quickly?

If a PDF page already contains real text, ShrinkBeam reads that text directly instead of running OCR. This is exact and fast. Tick the option to recognize pages as images if the embedded text is wrong.

Related next steps