Scan to Text: Why Your Photo Reads as Garbage
You photographed the contract and fed the photo to a scan to text tool. What came back was soup. Words fused together, and the second column read before the first. Half the numbers were wrong. The page was perfectly readable. To you. OCR does not read the way you do, and the gap between the two is where almost every failed conversion lives.
Before recognition starts, the engine binarizes the image: every pixel is forced to pure black or pure white. Your eyes forgive a shadow falling across the page. A threshold does not. On the bright side of the shadow, thin strokes get pushed to white and vanish. On the dark side, paper texture gets pushed to black and turns into phantom characters. The photo that looks fine produces garbage for a mechanical reason, not a mysterious one.
The Engine Sees a Different Page
Tilt is the same story. OCR finds text by slicing the page into horizontal lines, so a tilted page breaks the slicing. A 5-degree skew — an angle nobody notices shooting one-handed — adds 10 to 15 percent to the word error rate. At 10 degrees the loss can pass 30 percent.
Resolution gets squandered by framing, not by the camera. Tesseract's documentation asks for at least 300 DPI. A 12-megapixel phone photo is 4032 pixels on the long edge; if a letter-size page fills that edge, you are at roughly 474 effective DPI, comfortably clear. Let the page occupy half the frame and you are at 237: below the floor, with the same camera.
Compression finishes the job quietly. JPEG discards detail around edges, which is exactly where character strokes live. One documented comparison put the same page at 98 percent accuracy as a lossless PNG and 87 percent as a heavily compressed JPG. A document photo forwarded through a messaging app has been re-compressed at least once before any scanned image to text tool sees it.
Four Capture Habits, Each With a Number
Fill the frame with the page: that is the 474-versus-237 DPI arithmetic. Shoot square-on with the document flat, because 5 degrees costs double digits and a curved page near a book spine is a built-in skew and blur generator. Use diffuse light and keep your own shadow off the paper, so binarization has one threshold to find instead of two. And feed the tool the original file from the camera roll, not the copy a chat app squeezed on the way through.
Preprocessing can claw back a lot. Deskew and denoise passes, plus binarization tuning, have been shown to cut character error rates by up to half, but no filter reinvents pixels that were never captured. Thirty seconds of care with the phone beats any amount of software heroics after.
Copy the Words Out, or Keep the Page
Scan to text covers two different jobs, and it helps to know which one you have.
Sometimes you want the words out of the document: a paragraph to quote, an address to paste. That is plain extraction, and the result is text on your clipboard.
Sometimes you want the document itself, but searchable: the page keeps its exact appearance while an invisible text layer sits behind the image, so Ctrl+F, copy, highlighting, and screen readers all work. That is the right shape for archives. The IRS has accepted digital copies as legally equivalent to paper originals since Rev. Proc. 97-22, provided they stay accurate, legible, and retrievable. A shoebox of receipts can become one searchable file and the paper can go.
Both outputs fall out of the same recognition pass. The difference is what you keep.
The Upload Is the Risk
The documents people scan are the sensitive ones: IDs, medical records, signed contracts, bank statements. The tools people reach for have a record.
CamScanner, with over 100 million installs, shipped an advertising SDK in 2019 that Kaspersky identified as a malware dropper: it could sign users up for paid subscriptions and execute code from remote servers, and Google pulled the app. ABBYY, an OCR vendor, left 203,000 scanned contracts and NDAs on an open server in 2018. In 2025, Kaspersky found SparkCat, the first OCR-based stealer to reach Apple's App Store: it runs text recognition across victims' photo galleries hunting for crypto wallet recovery phrases. Document photos are an actively exploited attack surface.
A tool that never receives the file removes the whole category. OxygenPDF runs Tesseract compiled to WebAssembly inside your browser tab. Turn the photo into a PDF, then run OCR on it; the output is a searchable PDF with the invisible text layer written in. Need the words alone? Extract the text and copy or download it. Need an editable document? OCR straight to Word. This is checkable, not a policy promise. Open your browser's network tab and watch: the document never leaves.
What to Expect
On clean 300 DPI print, this class of engine reads 95 to 99 percent of characters correctly. Read that claim carefully: 99 percent character accuracy on a typed page still means roughly 18 wrong characters scattered through it, so proofread names and numbers before anything signs or ships. Handwriting is a different sport entirely. Traditional OCR averages around 64 percent on cursive. Grandma's letters will need a human pass no matter whose tool you use.
The shadow, the tilt, the framing, the compression: all of it is yours to control before an engine ever sees the file.
Scan to text in your browser, with the photo staying on your device the whole way through.
Rohman

