Almost every free OCR tool works the same way: you upload your image, their server reads it, you get text back. For a screenshot of a meme, fine. For an invoice, a passport, a medical form, a signed contract, or an internal dashboard, you have just uploaded a private document to a company you know nothing about, to be processed, logged, and possibly retained on infrastructure you cannot see.
That is the quiet cost of "free" OCR, and it is why private, on-device OCR is worth understanding.
What "on-device" actually means
On-device OCR runs the recognition model inside your browser instead of on a remote server. The image is read locally and never transmitted. Concretely:
- No upload. The bytes of your image do not travel over the network.
- No account. Nothing to sign into, so nothing to tie the document to your identity.
- Works offline. If the model is local, it does not need a connection to run.
- No quota. There is no server metering you, so there is no daily limit.
The trade-off used to be quality, but modern in-browser OCR engines are good enough that for most screenshots and documents you will not notice the difference, and you can trade speed for accuracy when it matters.
Doing it in Chrome
I built TextQuill, a free Chrome extension that does exactly this: the OCR runs on your device, so the image stays in your browser. You can right-click an image, select a region of the screen with Alt+Shift+S, paste from the clipboard, or upload a file, and get editable text back in 16 languages, with a searchable history that is also stored locally. No upload, no account, no ads, no tracking.
When on-device is the only acceptable option
If you handle any of these, cloud OCR is a data-handling decision you probably do not want to make casually:
- Financial documents (invoices, statements, receipts with account numbers)
- Identity documents (IDs, passports, licenses)
- Anything under an NDA or internal-only classification
- Personal or medical information
For all of it, the safest OCR is the kind where the image never leaves your machine. That is the whole idea.
For the broader set of ways to get text out of an image, see how to extract text from an image in Chrome, or if you mostly work from screenshots, screenshot to text.