OCR Scanner - Photo to Text Converter
A photo to text converter that runs entirely in your browser — batch-scan a whole folder of photos into real, copyable text, with nothing ever uploaded.
Drop in one or more photos of printed pages and get back real, selectable text you can copy or download — no typing, no account, no upload. This image to text converter runs entirely offline in your browser using a bundled WebAssembly OCR engine, and unlike most free online converters, scans a whole batch of photos at once.
What it does
OCR Scanner reads printed text out of a photo or scan and turns it into plain text you can copy, edit, or save — a stack of paper notes, a printed contract page, a whiteboard photo, a scanned form. Drop in one image or twenty at once; each is scanned in place with a live progress bar, and you get a "Copy text" and "Download .txt" button per image, plus a "download all as one file" option for a whole batch.
Who it's for: a freelancer or small-business owner who has photos of printed documents and wants the text out of them without retyping — especially when the document has anything sensitive in it, since this tool never sends the image anywhere.
Example scenario: a freelance photographer photographs four pages of printed shoot notes on their phone during a client meeting. Back at their desk, they drop all four photos into OCR Scanner, and two minutes later have plain text they can paste straight into an invoice or a follow-up email — instead of retyping four pages by hand.
What this does not do: it does not extract structured fields (no automatic "vendor / date / total" parsing — that's a separate, purpose-built tool). It does not pre-process images (no auto-crop, no deskew, no contrast correction) — whatever's in the photo is what gets scanned. It only reads English text in this version. It reads printed text; handwriting recognition is not reliable with this engine and isn't claimed here.
Features
- Scans one or many photos in a single batch, each with its own live progress bar.
- Runs entirely offline after the file loads — zero network requests during scanning, verified directly, not just claimed.
- Copy any result to your clipboard, or download it as a
.txtfile — individually or all at once. - Shows Tesseract's own real confidence score per image, so you know when to double-check a result.
- Clear error messages for non-image files, corrupted images, and images with no readable text — nothing silently fails.
- Works in both light and dark mode automatically, matching your system setting.
Browser support
| Platform | Result | Notes |
|---|---|---|
| Desktop Chrome | Full | Verified via the real installed Chrome.app (visual, screenshot) and via Playwright's Chromium engine (functional): correct OCR output, zero network requests, zero console errors on normal runs. A realistic 4200×5440px (22.8MP) document photo OCR'd in 2.8s; a smaller 1700×2200px document in 2.1s. |
| Desktop Safari | Full | Verified via the real installed Safari.app (visual, screenshot) and via Playwright's WebKit engine (functional, same rendering engine as Safari): correct OCR output, zero network requests, zero console errors. 1700×2200px document OCR'd in 1.8s. |
| Desktop Firefox | Full, but measurably slower | Verified via the real installed Firefox.app (visual, screenshot) and via Playwright's Firefox engine (functional): output is fully correct and zero network requests/console errors, but WASM execution is real and consistently slower than Chromium/WebKit for this workload — a small 900×400 test image took ~2.9s in Firefox vs. ~0.2s in Chromium/WebKit, and the 1700×2200px document took ~29s vs. ~2s. This is disclosed honestly in the platform-support copy below rather than smoothed over. |
| iOS Safari | Not tested | No iOS device available on this machine. Explicitly left unchecked rather than assumed. |
| Android Chrome | Full | Tested on a real Android device in Chrome — works. |
| Small viewport / touch | Full (emulated) | Verified via Chromium's iPhone 13 device emulation (390×844, touch-enabled): layout stays single-column and readable, OCR runs correctly, zero console errors. Explicitly a desktop emulation, not a real device — noted as such, not claimed as real mobile testing. |
FAQ
Does my photo get uploaded anywhere? No. Every image is decoded and scanned entirely inside your browser tab. This was verified directly with network-request interception during testing — zero requests leave the page during OCR, on any image.
Why is the file so large (7.66 MB)? The entire OCR engine — a WebAssembly build of the Tesseract OCR engine, plus the English language training data it needs to recognize text — is built directly into this one HTML file, so it works completely offline with no separate install or download. That's genuinely a few megabytes of engine and language data, not bloat.
How accurate is this, really? On a clean, well-lit, right-side-up printed page, accuracy was very high in testing (95%+ confidence, effectively perfect transcription on a full test document). On a photo rotated a few degrees, or blurry, accuracy drops — real testing showed individual words getting misread (e.g. "brown" → "prown") and confidence scores as low as the mid-50s% on a deliberately rough, blurry-and-rotated test photo. Always read the result before relying on it, especially for numbers.
Can I use this for client or commercial work? Yes. One-time purchase, personal and commercial use included.
Is there a subscription? No. One-time purchase, yours to keep and reuse.
Try it free in your browser → Open the free version of this tool — runs entirely in your browser, nothing uploaded.
- ✓ Runs 100% offline in your browser
- ✓ Single HTML file — no install, no dependencies
- ✓ No account, no telemetry, no tracking
- ✓ Buy once — yours forever
After checkout you get an instant download link. Open the file in any modern browser and it just works.
Pairs well with
✓ runs entirely on your device — Wi-Fi off? Still works.
accounts sign-ups cloud uploads none
✓ your files stay where you put them
Prefer to try before buying? The browser versions of every tool run free at tools.untracked.tools — no upload, ever.