OCR an image online
A full OCR engine — Tesseract compiled to WebAssembly — running in this tab. Drop an image, press Extract text, get characters you can copy. The image never leaves your device.
Drop an image (PNG, JPEG, WebP, GIF, BMP) anywhere on this page
The OCR engine runs entirely in your browser. Images never leave your device.
OCR — optical character recognition — turns the shapes of letters in an image back into characters a computer can search, copy, and index. Every online OCR tool does the same underlying job; what differs is *where* it runs. The usual answer is "on our server, after you upload the image." This page’s answer is "in your browser": the same engine most open-source OCR is built on, Tesseract, compiled to WebAssembly and downloaded as code — so the page can run it locally on your image without the image ever being transmitted.
That distinction is not a slogan, it is checkable: open DevTools, extract an image, and watch the Network tab — the only fetch is the one-time engine download, and no request ever contains your picture. It also composes with the rest of the toolkit: if your images live inside a zip, extracted text feeds the archive’s content search, so a folder of screenshots becomes a folder of searchable documents.
How this online OCR works
Nothing to install, nothing to sign up for:
- Drop an image anywhere (PNG, JPEG, WebP, GIF, BMP) — or press Try an example image first.
- Click the image in the file list to open the viewer.
- Choose a language — English, French, German, Hindi, Urdu, or Simplified Chinese — and press Extract text (OCR).
- The first run downloads the engine core (~4 MB) plus the language model (1–21 MB by language), both from this site’s own domain and then cached by your browser. Later runs start immediately.
- The result replaces the photo with the extracted text: copy it, download it as
.txtfrom the status bar, or flip back to the image.
What “online OCR” usually means — and what it means here
Search for online OCR and nearly every result is an upload service: your image goes to a server, is processed who-knows-where, and is kept for some retention window. For public images that is a reasonable trade. For the images OCR is most used on — receipts, ID scans, error screenshots with internal details, personal chat logs — it is the wrong default.
Client-side OCR inverts the direction: the *code* travels to you (a few MB, one time, cached), and the *data* never travels at all. You do not have to take the privacy claim on faith either — the why client-side is safer than uploading page explains how to falsify it: load this page, go offline, and keep extracting images.
OCR inside archives
Images rarely travel alone — they arrive in zips: a folder of screenshots from a phone, a bundle of scanned pages. The archive toolbar’s OCR button processes an entire folder (up to 50 images, one language) and downloads every result as a <archive>-ocr.zip of .txt files mirroring the image paths.
Each extracted text is also indexed into the archive’s content search the moment it lands. Switch the search box to Content and grep your screenshots by what they say — the same search that already reads code and config files inside archives now reads pixels too.
Languages and accuracy, honestly
Six language models are available, and their real-world quality differs — this is stated plainly instead of hidden in a settings page.
- English, French, German — Latin-script models; clean screenshots and scans extract reliably, with the displayed confidence number typically high.
- Simplified Chinese — solid on clean, well-rendered text (screenshots, typed documents); weaker on small or stylized characters.
- Hindi (Devanagari) — usable on clean input.
- Urdu (Nastaliq) — the weakest of the six; Nastaliq’s connected, diagonal script is genuinely hard for OCR models of this size. Expect usable fragments, not clean paragraphs.
- Every run displays its confidence — judge each result, and treat OCR output as a draft to verify rather than ground truth.
Honest limits
Real capability, real boundaries — stated up front.
- Images only. Raster formats (PNG, JPEG, WebP, GIF, BMP). SVG is code and opens as text; PDF pages are not supported.
- One-time engine download. The first extraction fetches the WebAssembly core and your language’s model (a few MB to ~21 MB for the largest model) from this site’s own domain; your browser caches them for next time.
- One language per run, chosen by you — no automatic language detection.
- Size caps keep the tab alive: 25 MB per image, 40 megapixels for PNG/JPEG, 50 images per folder batch.
Credits
The engine is Tesseract (Apache-2.0), running unmodified as WebAssembly via tesseract.js, with all engine assets — worker, core, and language models — served from this site’s own domain rather than a third-party CDN. This page adds the viewer, search integration, and downloads; Tesseract does the reading.
Frequently asked questions
What is OCR?
Optical character recognition: software that detects the shapes of letters and digits in an image and converts them into real characters — text you can select, copy, search, and edit. It is what lets a computer "read" a screenshot, a scan, or a photo of a document.
Is this OCR really not uploading my image?
Really. Tesseract is compiled to WebAssembly and executed by your browser, in this tab, on your device. The only network fetches are the one-time engine core and language model — code, served from this site’s own domain and cached afterwards. Verify it in DevTools: no request after the engine download contains your image, and extraction keeps working if you go offline.
Which languages does this online OCR support?
English, French, German, Hindi, Urdu, and Simplified Chinese. Quality varies honestly: the Latin-script languages are strongest, Simplified Chinese is good on clean input, and Urdu (Nastaliq) is the weakest. Each result shows a confidence number.
Why does the first extraction take a moment?
The first run downloads the OCR engine core (~4 MB) and the chosen language’s model (1–21 MB) and initializes a WebAssembly worker — a few seconds on a normal connection. Both are cached, so every later extraction — including offline — starts immediately.
Can it OCR a PDF?
No, and it does not pretend to. PDF pages are not plain raster images this viewer can access, so PDF OCR is out of scope. Converting a PDF to images first (with any tool) and extracting those images here works fine.
Can I OCR images inside a zip?
Yes — drop the zip, open the folder, and the toolbar’s OCR button extracts every image in it (up to 50) in one pass and downloads the results as a zip of .txt files. The extracted text also becomes searchable in the archive’s content search.
Is it free?
Yes — no account, no watermark, no per-page charges. The limits that exist (25 MB, 40 MP, 50 images per batch) exist to keep your browser tab responsive, not to sell an upgrade.