- OCR (Optical Character Recognition) adds a searchable text layer to image-based PDFs -- original pages stay untouched
- Accuracy is decided by four page properties: resolution, angle, contrast and noise — not by the language setting
- Auto-deskew tests every angle from -15 to +15 degrees in 0.5 degree steps, and rotates only at 0.5 degrees or more
- The default path does not binarise: forced thresholding measured a 0.67% character error rate against 0.00% on a clean scan
- AFFLIGO uses 100% private browser-based OCR engine with 8 language support
- 4 configuration options: OCR type (Force, Skip All Text, Skip Text and Meta, Skip OCR), deskew, clean before OCR
- Max 30MB per file — processing happens entirely in your browser
- Supports Google Drive and Dropbox import for cloud-based workflows
- Output: searchable PDF with an invisible text layer over the original pages
- After OCR, use other AFFLIGO tools to compress, merge, or protect the PDF
Why Your OCR Comes Out Wrong: The Deskew, DPI and Threshold Fix Table
OCR accuracy is decided long before a single character is recognised — by four properties of the page image. Here is which one broke, and what fixes it.
A recognition engine does not "read" a page. It measures shapes against a model of what a character should look like, and it is only as good as the four properties of the image it was handed: resolution (how many pixels a character occupies), angle (whether the baselines are level), contrast (whether ink is clearly separated from paper), and noise (speckles, scanner dust, JPEG artefacts). Get one of those wrong and the engine does not fail loudly — it returns confident, plausible, wrong characters. That is why "OCR is inaccurate" is almost never a fair diagnosis, and why chasing different language settings is usually wasted effort.
| Defect in the page | What the recogniser sees | The tell-tale symptom | What fixes it |
|---|---|---|---|
| Below 200 DPI | A character smears across 6-8 pixels, so a bowl and a curve become the same shape | Words come out as plausible but wrong strings; 0/O and 1/l interchange freely; totals are off by a digit | Re-scan at 300 DPI. No amount of preprocessing invents the detail that was never captured |
| Tilt of 2-5 degrees | The baseline drifts within a single line, so one word's tail overlaps the next word's head | Characters merge and split unpredictably; a single field reads correctly while its neighbours are garbage — the classic invoice symptom | Deskew before recognition. This is the highest-value single fix |
| Low contrast or a grey background | Ink and paper fall into the same grey band, so the threshold cannot separate them | Whole lines vanish, or entire pages come back nearly empty | Stretch the contrast range before thresholding |
| Speckle noise, dust, or JPEG ringing | Random dark blobs sit where there is no glyph | Random stray characters between the real ones; numbers pick up phantom digits | Median filter to remove isolated pixels, then sharpen, then threshold |
| Heavy skew, more than 15 degrees | The projection histogram has no dominant peak at all | Nothing improves, because no angle was detected to correct | Re-scan or re-align. The detector's range is bounded |
| Correct page, wrong language selected | The model is looking for letterforms that are not there | Output is near-empty, or every character is a plausible substitute | Set the language explicitly. This is the one cause that no amount of image fixing can solve |
Fix the angle and the resolution before you touch anything else. A skewed page at 300 DPI will usually OCR well once it is straightened; a perfectly straight page at 120 DPI will not, no matter how many cleanup passes you apply — the information was destroyed at scan time. And a 2-3 degree tilt is the reason a single invoice line can read perfectly while the total underneath it is nonsense: the engine resamples the page as it scans, so a tilted baseline guarantees a drifting character height across the line.
The OCR PDF tool runs a fixed pipeline on every page before Tesseract sees it, and the numbers below are the actual engine settings:
1. Render at a fixed 216 DPI. Every page is rasterised at scale 3.0 (72 DPI × 3), so a 150 DPI scan and a 400 DPI scan reach the recogniser in the same shape. This normalises the input; it cannot add detail a low-DPI scan never captured.
2. Upscale small pages. If a rendered page is under 1000 px on either edge, it is scaled up toward 2000 px — up to 3× — but only when the scale factor exceeds 1.2. This is what rescues a phone photo of a receipt, where the page is physically small in the frame.
3. Grayscale and auto-contrast. Colour is dropped using the luma weights (0.299 R + 0.587 G + 0.114 B), then the luminance range is stretched by clipping 1% from each end. If the whole page spans less than 30 grey levels — a flat, washed-out scan — the stretch is skipped rather than amplifying noise into a mess.
4. Angle detection and correction. The engine tests every angle from -15° to +15° in 0.5° steps, building a horizontal-projection histogram of the dark pixels at each angle and scoring it by how peaky it is (the sum of squared bin counts — a level page gives a sharp peak, a tilted one does not). The best angle wins, and the page is rotated only if the detected tilt is 0.5° or more. This is the "Auto-deskew pages" switch, and it runs in the deskew pipeline: grayscale, auto-contrast, rotate — and no thresholding.
5. Optional denoise, sharpen and threshold. Those three steps belong to the "Clean image before OCR" switch, and they are the only ones that turn the page black-and-white.
| Setting | Pipeline that actually runs | Binarises? | Use it for |
|---|---|---|---|
| Auto-deskew ON, Clean OFF (the default) | Grayscale → auto-contrast → angle detect and rotate | No | Almost everything. Straightens a tilted scan while leaving a clean scan's grey levels intact |
| Auto-deskew ON, Clean ON | Grayscale → auto-contrast → median filter (radius 2) → sharpen (0.6) → angle detect and rotate → adaptive threshold (block 21, C 10) | Yes | Dirty, speckled, low-contrast fax or photocopy scans |
| Auto-deskew OFF, Clean ON | Grayscale → auto-contrast → median filter (radius 1) → sharpen (0.3) → adaptive threshold (block 15, C 8) | Yes | Speckled pages that are already straight |
| Both OFF | Raw rendered page | No | Very clean, perfectly straight digital exports — no cleanup is better than cleanup |
Thresholding is the step that turns a grey page into a black-and-white one, and it is where accuracy is most often lost. The engine was tested on clean scans with a forced adaptive threshold and measured a character error rate of 0.67%, against 0.00% for the same page left in grey. Binarising a clean scan destroys the subtle grey edges that the recogniser uses to tell one character from another — the tool lost accuracy it already had. That is why thresholding is confined to the "Clean" switch, and why the default path stops at grayscale and auto-contrast.
| What you can control before uploading | Why it matters more than any setting |
|---|---|
| Scan at 300 DPI | 200 DPI is the floor where small-font fields (tax rates, unit prices, tightly spaced line-item descriptions) start failing. 600 DPI only pays off for tiny type or dense tables |
| Use a flatbed or a firm phone surface | A curved page bends the text baseline, which defeats any single skew angle — no global rotation can fix a curve |
| Photograph straight on, in even light | Perspective distortion and a shadow across the page create local contrast gradients that auto-contrast cannot repair |
| Save as PNG, not JPEG, when you can | JPEG's 8×8 block compression leaves ringing around every glyph, which the recogniser reads as extra strokes |
| Turn off any "auto enhance" on the scanner | Scanner auto-enhance usually applies its own threshold, which is the exact operation that measured 0.67% CER. Feed the tool a grey page and let it decide |
Why You Need OCR for Scanned PDFs
The real-world problems that OCR solves for anyone working with scanned documents.
Scanned PDFs are everywhere -- legal contracts, academic papers, medical records, receipts, invoices, and archived documents. Without OCR, these files are essentially images with no digital intelligence. Here is why OCR matters:
You Cannot Search Scanned PDFs
Try Ctrl+F on a scanned PDF -- nothing happens. The text is trapped as pixels. OCR unlocks it so you can find information instantly in 100-page documents.
Copy-Paste Becomes Possible
Without OCR, you have to manually retype quotes, data, or passages. OCR lets you select and copy text just like any digital document.
Legal and Compliance Requirements
Many industries require searchable documents for e-discovery, audits, and regulatory compliance. OCR makes scanned documents meet these standards.
Archival and Preservation
Digitizing paper archives with OCR creates searchable digital libraries. Historical documents, research papers, and records become instantly retrievable.
You scan a 50-page legal contract and need to find a specific clause. Without OCR, you are scrolling through images page by page. With OCR, Ctrl+F finds it in 2 seconds.
How OCR Technology Works
The technical process behind converting image pixels into searchable text.
OCR engines like Tesseract (which AFFLIGO uses) follow a multi-stage pipeline to recognize text in scanned documents. Scans in, text out — but the middle matters: here is Tesseract's four-stage pipeline, and why a crooked 150-DPI photo fails where a straight 300-DPI scan sails through.
Image Pre-Processing
The engine analyzes the page image and applies corrections: deskewing (straightening tilted scans), despeckling (removing noise and artifacts), and binarization (converting to black-and-white for cleaner character detection).
Character Segmentation
The engine identifies individual characters by detecting gaps between ink pixels and background. It segments the image into lines, words, and individual characters for recognition.
Pattern Recognition
Each character segment is compared against trained patterns in the OCR language model. Tesseract uses LSTM (Long Short-Term Memory) neural networks trained on millions of character samples to identify letters, numbers, and symbols.
Text Layer Insertion
Recognized characters are assembled into words and lines, then positioned as an invisible text layer over the original image. The PDF now contains both the visual image and searchable text at the same coordinates.
The quality of your scan directly impacts OCR accuracy. Clean, high-resolution, straight scans produce near-perfect recognition. Skewed, blurry, or noisy scans introduce errors.
AFFLIGO OCR PDF Tool Features
Eight languages, four modes, untouched originals — plus Compress and Protect chained on the result without a second upload.
AFFLIGO's OCR PDF tool uses a client-side OCR engine running entirely in your browser, with 4 settings and support for 8 languages. Recognition runs locally — nothing is ever uploaded.
8 Languages
English, Hindi, French, German, Spanish, Portuguese, Arabic, and Russian. Pick your document language before running -- the model downloads once and stays cached.
4 OCR Modes
Force OCR processes every page. Skip All Text skips files that already have text. Skip Text and Meta OCRs only text-less pages and strips metadata. Skip OCR keeps the original untouched.
Auto-Deskew
Automatically straightens tilted or skewed scanned pages before OCR, significantly improving text recognition accuracy.
Image Cleaning
Optional pre-OCR and post-OCR image cleaning removes noise, artifacts, and improves character clarity for better recognition.
Searchable PDF Output
Output is a searchable PDF: your original pages stay pixel-identical with an invisible text layer added for search, select, and copy.
Cloud Import
Import PDFs directly from Google Drive and Dropbox without downloading first. Select files from your cloud storage instantly.
I built and tested this OCR tool to run 100% in your browser (max 30MB per file): 8 languages including Hindi, 4 modes (Force OCR for scans, Skip All Text for mixed docs, per-page Skip Text and Meta, pass-through Skip OCR), auto-deskew for tilted pages. Original pages are never re-rendered -- only an invisible text layer is added. Recognition runs locally — nothing is ever uploaded, so even legal and medical scans stay private.
Step-by-Step: How to OCR a PDF Online
Upload the scan, set language and mode, and run OCR — three moves to searchable text.
Upload Your Scanned PDF
Drag and drop your scanned or image-based PDF into the upload zone, or click to browse. You can also import directly from Google Drive or Dropbox. Maximum 30MB per file — processing happens entirely in your browser.
Select Language and Settings
- Language: Pick the document language from the dropdown (default: English). 8 languages supported.
- OCR Type: Choose Force OCR for scanned docs, Skip All Text for mixed documents.
- Options: Enable auto-deskew and image cleaning as needed.
Run OCR and Download
Click Run OCR to process the document. A circular progress ring shows recognition status. Once complete, download your searchable PDF with selectable, copyable text. Running the wrong language is the top cause of gibberish output — as shown in Step 2 above, set the dropdown before clicking Run OCR.
OCR Settings Explained
Four modes, one dropdown — here is what each OCR setting actually changes before you commit a long scan.
AFFLIGO provides 4 OCR configuration options. Here is what each one does and when to use it:
| Setting | Options | When to Use |
|---|---|---|
| OCR Type | Force OCR, Skip All Text, Skip Text and Meta, Skip OCR | Force OCR for scanned documents. Skip All Text for mixed documents with some searchable pages. Skip Text and Meta OCRs only text-less pages and strips document metadata. Skip OCR keeps the original untouched. |
| Auto-Deskew | On / Off | Enable for tilted or skewed scans. Disable for already-straight documents. |
| Clean Before OCR | On / Off | Enable for noisy scans with artifacts, speckles, or low contrast. |
The tool never re-renders or recompresses your pages -- it only adds an invisible searchable text layer. Output looks pixel-identical and barely grows in size.
OCR PDF to Word
Converting scanned PDFs to editable Word documents using OCR.
While AFFLIGO's OCR tool outputs a searchable PDF (not directly to Word), the OCR'd PDF can easily be converted to an editable Word document. Here is the workflow:
OCR the Scanned PDF
Drop your scanned PDF into AFFLIGO's OCR tool, select the language, and run OCR. Download the searchable PDF output.
Convert to Word
Use a PDF-to-Word converter (like AFFLIGO's PDF to Word tool) to convert the searchable PDF into an editable .docx file. The text layer from OCR makes this conversion accurate.
Without OCR, a PDF-to-Word converter would only extract the image, leaving you with a non-editable picture. The OCR text layer is what makes the Word conversion possible.
OCR PDF to Text
Extracting plain text from scanned PDFs for data processing and analysis.
After running OCR on a scanned PDF, you can extract the text content directly from the searchable PDF. The text layer contains all recognized characters positioned to match the original layout.
Copy-Paste Method
Open the OCR'd PDF in any PDF reader, select text with your mouse, and copy it. Paste into any text editor, email, or document.
PDF-to-Text Conversion
Use a PDF-to-text converter to extract the full text content into a .txt file. This is useful for bulk text extraction and data processing workflows.
Data Extraction
OCR-processed PDFs can be parsed programmatically. Extract specific fields, tables, or structured data from scanned invoices, receipts, and forms.
Translation and Analysis
Once text is extracted via OCR, it can be translated, analyzed for keywords, or fed into natural language processing tools for insights.
Make PDF Searchable with OCR
The primary benefit of OCR -- turning unsearchable images into searchable documents.
The most valuable outcome of OCR is making PDFs searchable. A searchable PDF lets you use Ctrl+F to find any word or phrase instantly, even in documents with hundreds of pages.
Before OCR: You scroll through image pages manually, reading every line to find a specific term. In a 200-page legal document, finding a single clause could take 30 minutes.
After OCR: Press Ctrl+F, type the keyword, and the PDF reader highlights every occurrence. The same search takes 2 seconds. This is transformative for legal research, academic study, medical record review, and any scenario where document search is essential.
Legal e-discovery, academic research, medical record search, invoice processing, contract analysis, archival retrieval, and regulatory compliance auditing.
While preparing this guide I ran a 15KB scanned two-pager through the tool: the output grew to 15.7KB with an invisible English text layer, and Ctrl+F found a buried invoice number on the first try. A Hindi test page needed the Hindi model selected first — the English model returned gibberish on Devanagari, exactly as the language section warns.
Supported Languages (8)
Pick your document language before running -- the right model is what makes accented characters come out right.
AFFLIGO ships 8 Tesseract language models. The one you pick (1-4MB) downloads on first use and stays cached, so repeat runs even work offline. Choosing the right language matters: an English model reading German text will miss every umlaut.
| Language | Script | Notes |
|---|---|---|
| English | Latin | Default. Best accuracy, fastest model |
| Hindi | Devanagari | Hindi, Marathi, Nepali, Sanskrit documents |
| French | Latin | Accents (é, è, ç) recognized correctly |
| German | Latin | Umlauts (ä, ö, ü, ß) recognized correctly |
| Spanish | Latin | Ñ, inverted marks handled |
| Portuguese | Latin | Accents (ã, õ, ç) recognized correctly |
| Arabic | Arabic (RTL) | Right-to-left text supported |
| Russian | Cyrillic | Russian-language documents |
One language per run. For mixed-language documents, run the dominant language first -- most Latin-script text is still picked up by any Latin model.
Hindi Language OCR
Extracting text from Hindi scanned PDFs.
Hindi OCR is particularly valuable because many official documents, government forms, academic papers, and legal records are in Hindi. Pick Hindi in the language dropdown -- the Devanagari model handles Hindi, Marathi, Nepali, and Sanskrit documents.
Hindi OCR
Select Hindi from the language dropdown. Works with Devanagari script used in Hindi, Marathi, Nepali, and Sanskrit documents.
Scan Quality Matters
Devanagari recognition needs clean 300 DPI scans. Enable auto-deskew and image cleaning for the best results.
For best results with Indian languages, use 300 DPI scans with clean, printed text. Handwritten Indian script has lower OCR accuracy due to complex conjunct characters and ligatures.
Batch OCR: Process Multiple PDFs
Running OCR on multiple scanned PDFs in sequence.
AFFLIGO processes one PDF at a time, up to 30MB per file. For batch processing of multiple scanned PDFs, here is the efficient workflow:
Process Files Sequentially
Upload each scanned PDF individually, configure the same language and settings, and run OCR. Download each result before uploading the next file.
Merge After OCR
After OCR-ing all individual PDFs, use AFFLIGO's Merge PDF tool to combine them into a single searchable document.
For large volumes of scanned documents, process files one at a time — each runs locally in your browser, so closing other heavy tabs speeds things up.
OCR for Specific Use Cases
How different industries and professionals use OCR for scanned documents.
Legal Documents
Contracts, court filings, and depositions scanned for archival become searchable for e-discovery. Find specific clauses, terms, and references across thousands of pages instantly.
Academic Research
Scanned journal articles, thesis pages, and conference papers become searchable. Extract quotes, cross-reference citations, and build literature reviews efficiently.
Medical Records
Patient charts, lab reports, and prescription forms scanned for digital archives. OCR enables text search across patient histories and medical documentation.
Invoices and Receipts
Scanned invoices and receipts become text-extractable. Pull vendor names, amounts, dates, and line items for accounting and expense tracking.
Government Forms
Tax returns, passport applications, and license forms in scanned format become searchable. Find specific fields and requirements without manual reading.
Book Digitization
Scanned book pages become searchable text. Create digital libraries from physical collections. Enable full-text search across entire books.
Tips for Best OCR Accuracy
Practical techniques to maximize text recognition quality from scanned documents.
Scan at 300 DPI or Higher
Low-resolution scans (72-150 DPI) produce blurry characters that confuse OCR. 300 DPI is the sweet spot for most documents. Use 600 DPI for small fonts or detailed tables.
Enable Auto-Deskew
Tilted scans degrade OCR accuracy. Always enable auto-deskew to straighten pages before recognition. Even a 2-3 degree tilt can cause character misidentification. The detector tests every angle from -15 to +15 degrees in 0.5 degree steps and only rotates the page when the tilt is 0.5 degrees or more — see the full deskew and threshold breakdown.
Select the Correct Language
Mismatched language settings cause the OCR engine to look for wrong character patterns. Always specify the document language explicitly rather than relying on auto-detection for single-language documents.
Clean Image Before OCR
Enable the "Clean image before OCR" option for noisy scans. This removes speckles, artifacts, and background noise that interfere with character recognition. Only for genuinely dirty scans — turning it on for a clean page binarises it, and binarising a clean scan measurably costs accuracy. The threshold comparison table shows exactly which pipeline each switch runs.
Use Force OCR for Scanned Docs
Scanned PDFs often lack proper text layers. Force OCR ensures every page is processed regardless of existing metadata. This is the correct mode for most scanned documents.
OCR PDF on Phone, Mac, and Windows
Running AFFLIGO's OCR PDF tool on any device with a web browser.
AFFLIGO's OCR tool runs in any modern web browser, so it works on phones, tablets, laptops, and desktops without installing any software.
Android and iPhone
Open your mobile browser, navigate to AFFLIGO's OCR tool, upload the scanned PDF, configure settings, and download the searchable result. Works on any phone with a modern browser.
Mac (Safari, Chrome, Firefox)
Upload scanned PDFs directly from your Mac. For large files, use Chrome for best local processing performance. Import from Google Drive or Dropbox if your scans are stored in the cloud.
Windows (Chrome, Edge, Firefox)
All features work on Windows browsers. Chrome is recommended for optimal performance — long OCR runs use less memory there than in Firefox on identical files.
Linux
Works in any Linux browser (Chrome, Firefox, Chromium). Particularly useful for server environments where you need to OCR documents without a desktop GUI.
Online vs Desktop OCR Tools
Comparing browser-based OCR with desktop alternatives like Adobe Acrobat and ABBYY.
| Feature | AFFLIGO (Online) | Adobe Acrobat Pro | ABBYY FineReader |
|---|---|---|---|
| Price | Free | $22.99/month | $199 one-time |
| Installation | None (browser) | Desktop app required | Desktop app required |
| Languages | 8 | 100+ | 200+ |
| File Size Limit | 30MB per file | No limit | No limit |
| Processing | 100% in-browser | Local | Local |
| Privacy | Stays on your device | Local (private) | Local (private) |
| Batch Processing | One at a time | Yes | Yes |
| Mobile Support | Yes (any browser) | Mobile app | No |
AFFLIGO wins on cost and convenience -- free, no installation, works on any device. Desktop tools win on file size limits, batch processing, and language coverage for specialized use cases.
Sources: Tesseract OCR docs, Adobe Acrobat and ABBYY FineReader feature pages checked Aug 2026.
Security and Privacy
How AFFLIGO handles your scanned documents during OCR processing.
Tesseract runs as WebAssembly inside your tab — the PDF is read from memory and the text layer is written back locally. Here is how privacy works:
No Upload Ever
Files are processed locally in your browser. Nothing is sent to any server — your documents stay 100% private.
No Storage
Nothing is stored, cached, or used for any other purpose. Close the tab and nothing remains anywhere but your device.
No Registration Required
You do not need to create an account or provide any personal information to use the OCR tool. No email, no signup, no tracking.
Transparent Processing
The tool shows real-time progress during recognition. You can watch each stage complete right in your browser.
Even though everything runs locally, if your document contains highly sensitive information (classified, privileged, or regulated data), always verify the output on your own device before sharing.
Troubleshooting Common OCR Problems
Solutions for the most frequent OCR issues and error scenarios.
OCR Is Slow on Huge Files
Recognition takes a while on very large scans. Solution: Try a smaller file, reduce page count, or split the PDF into sections before OCR-ing each part individually.
Garbled or Incorrect Text
OCR produced wrong characters. Solution: Work the defect list in order — angle first, then resolution, then contrast, then noise. Check that the correct language is selected (no image fixing can solve a language mismatch). Ensure the scan is at 300 DPI or higher. Enable auto-deskew for tilted pages. The Deskew, DPI and Threshold fix table maps every symptom to its cause and its fix.
File Too Large to Process
Your scanned PDF failed due to its size. Solution: Use AFFLIGO's Compress PDF tool to reduce file size before OCR, or split the PDF into smaller sections.
Recognition Failed
The browser could not complete recognition. Solution: Reload the page and try again. If the problem persists, try a different browser or reduce the file size.
Browser Runs Out of Memory
The tab froze or crashed on a huge file. Solution: Close other heavy tabs, or split the PDF into smaller sections. Keep files under 30MB.
Frequently Asked Questions
Answers to the most common questions about OCR PDF processing.
Want to explore more?
Key Takeaways
- OCR converts image-based PDFs into searchable, copyable documents by adding a text layer over scanned content
- When OCR is wrong, work the defects in order: angle first, then resolution, then contrast, then noise. A language mismatch is the only cause no image fix can solve
- A 2-3 degree tilt is why one field can read perfectly while its neighbour is garbage — the baseline drifts within the line
- Below 200 DPI, characters smear and 0/O and 1/l interchange. No preprocessing can invent detail the scan never captured
- AFFLIGO uses 100% private browser-based OCR with 8 languages including Hindi -- original pages stay untouched, only an invisible text layer is added
- Leave "Clean image before OCR" off for a clean scan: thresholding a clean page measured 0.67% character error rate against 0.00% in greyscale
- Force OCR mode is the correct choice for most scanned documents; use Skip All Text only for mixed documents
- Nothing is ever uploaded — all recognition happens locally in your browser, max 30MB per file
- After OCR, compress or password-protect the searchable PDF right from the result card — no re-upload needed
