What is OCR (Optical Character Recognition)?
OCR is a technology that analyzes images containing text, such as photographs, scanned documents, screenshots and image-only PDFs, and converts the visual text into machine-readable character data. The output is text that can be copied, searched and processed by other software. Without OCR, a scanned document is just a picture. With OCR, it becomes usable digital text.
- Optical Character Recognition (OCR)
- A technology that uses pattern recognition and machine learning to identify text characters within images, converting visual representations of text into encoded digital text. Modern OCR handles many fonts and layouts. How accurate it is depends mostly on the quality of the source image and on whether the engine has been trained for the language.
How OCR Processing Works: Step by Step
- Image preprocessing: Convert to grayscale, adjust contrast, remove noise, correct skew/rotation, and binarize (convert to pure black and white).
- Layout analysis: Detect text regions, identify columns, paragraphs and text lines. Separate text from images, tables and decorative elements.
- Character segmentation: Break text lines into individual characters or character groups. Handle connected characters and variable spacing.
- Character recognition: Compare each character against trained models. Tesseract uses an LSTM neural network trained per language; AI OCR uses large multimodal models that read the whole page in context.
- Post-processing: Apply language models and dictionaries to correct recognition errors. Fix common misrecognitions (0 vs O, 1 vs l, etc.).
- Output generation: Produce the recognized text. Some OCR software can also keep position data to build a searchable PDF; Allin PDF outputs plain text only (copy or .txt).
AI OCR vs Traditional OCR
| Aspect | AI OCR (Gemini in Allin PDF Pro) | Traditional OCR (Tesseract.js, free) |
|---|---|---|
| Clean printed text | Very good | Good in its trained languages |
| Handwritten text | Can read neat handwriting | Very limited |
| Languages | Many, including German, Spanish, French | 5 in Allin PDF: EN, Simplified/Traditional Chinese, JA, KO |
| Complex layouts | Copes better with tables, columns, forms | Struggles with non-linear layouts |
| Processing location | Cloud (internet and Google sign-in required) | In your browser, file stays on your device |
| Limits | Up to 50 pages per run, 100 runs per day | No sign-up, no daily limit |
| Privacy | Pages sent over an encrypted connection, not stored | Never uploaded |
| Cost | Included in Pro ($9.99/month or $59.99/year) | Free |
How Allin PDF Handles OCR
Allin PDF offers two engines. You pick the one that fits the document:
- Free: local engine (Tesseract.js): Runs in your browser, so the file is not uploaded. No sign-up and no daily limit. The language data is downloaded the first time you use a language. Best for privacy-sensitive documents in English, Chinese, Japanese or Korean.
- Pro: AI OCR (Gemini): Pages are sent over an encrypted connection to Gemini, which reads them with context. Up to 50 pages per run and 100 runs per day. Best for handwriting, poor scans, complex layouts and languages the local engine does not cover. If the AI fails on a page, that page falls back to the local engine.
Both engines accept JPG, PNG and PDF files, including scanned PDFs. Note that the web app needs an internet connection to open. If you need OCR fully offline, use the Allin PDF iOS app, where local tools run on the device.
Languages Supported
The free local engine in Allin PDF is trained for exactly 5 languages:
- English
- Chinese: Simplified and Traditional
- Japanese and Korean
Other languages, such as German, Spanish, French, Italian or Portuguese, are not trained in the local engine. Accented letters and umlauts (é, ñ, ü, ß) are often misread there. For those documents, use Pro AI OCR (Gemini), which handles them well and can also deal with pages that mix several languages.
Tips for Best OCR Accuracy
- Scan at 300 DPI: Higher resolution gives the engine more detail for each character. 200 DPI is usually acceptable, 300 DPI is a good default.
- Ensure good lighting: Even illumination without shadows or hot spots. Avoid flash glare on glossy paper.
- Keep text straight: Skewed or rotated text reduces accuracy. Small angles are usually corrected automatically, but rotate sideways or upside-down pages first.
- Use high contrast: Dark text on a white or light background works best. Colored text or colored backgrounds reduce accuracy.
- Select the correct language: With the local engine, the wrong language setting makes results much worse. If your document is not in one of its 5 languages, use Pro AI OCR instead.
Common OCR Use Cases
- Digitize paper documents: Turn letters, contracts and notes into text you can edit and archive
- Extract data from receipts/invoices: Pull amounts, dates and vendor names from photographed receipts
- Find text in scans: Extract the text of an image-only PDF so you can search it in a text editor or notes app
- Accessibility: Convert printed material to text that screen readers can process for visually impaired users
- Translation prep: Extract text from foreign-language documents for translation tools
Ready to try it? Open Allin PDF OCR and drop in an image or scanned PDF.
Frequently Asked Questions
Can OCR recognize handwriting?
Pro AI OCR (Gemini) can read neat, legible handwriting, although results depend heavily on the writing. The local Tesseract engine is designed for printed text and handles handwriting poorly. For handwritten notes, use AI OCR.
Does OCR preserve the original formatting?
No. Allin PDF OCR extracts the text only and gives you plain text to copy or save as .txt. If you need the layout of a PDF in an editable document, use PDF to Word instead, which rebuilds the document structure as a .docx file.
Why does the local engine download language data?
Tesseract needs a trained model for each language. To keep the page load fast, Allin PDF downloads a language's data only the first time you use it. Your document itself is never uploaded. The web app still needs an internet connection to open, so for offline OCR use the iOS app.