Can OCR run entirely in a browser?
Yes. Tesseract can run through WebAssembly and workers in a modern browser, so the source image can remain on your device. The first use of a language may download trained recognition data from a separate host. That download exposes ordinary connection data, such as an IP address, but it does not need to include the document image.
How to use the tool
Capture or choose an image
Use a steady, square-on photo or a sharp scan with the full page visible.
Select the correct language
Choose the primary language in the document before recognition begins.
Review the extracted text
Correct names, numbers and punctuation, then copy or download the text you have verified.
At a glance
- Recognition engine
- Tesseract.js
- Source image processing
- On device
- First language use
- May require a language-data download
- Handwriting
- Not a reliable target
How to improve OCR accuracy
Recognition quality is driven more by the input than by the copy button. Use even lighting, avoid shadows over text, keep the camera parallel to the page and make characters large enough to distinguish. Cropping empty borders can reduce the area the engine must analyse.
OCR output is an interpretation, not a certified transcription. Similar shapes can be confused, especially 0 and O, 1 and l, punctuation, diacritics and mixed scripts. Review any result used for a visa, police check, contract, account number, medical instruction or legal deadline.
- Prefer a flat page and high contrast.
- Avoid motion blur and aggressive JPEG compression.
- Recognise one main language at a time when possible.
- Proofread critical fields against the image.
Camera and privacy boundary
Camera permission is requested by the browser only when you choose the camera option. Denying it does not prevent you from selecting an existing image. Closing the tab releases the working state unless the browser itself retains the page in memory.
Language files can be relatively large and may be cached for later offline use. Clearing site data or uninstalling the web app removes those cached resources according to the browser’s storage controls.
Important limitations
- Handwriting, decorative fonts, curved pages and dense tables can produce poor results.
- OCR does not prove that the source document is genuine or current.
- A language pack may need an internet connection the first time it is used.
- The user must proofread names, dates, reference numbers and financial values.
Questions people ask
Does OCR make a searchable PDF?
This release extracts editable text. A text-layer PDF requires a separate export workflow and should be checked for reading order.
Can it recognise Nepali text?
The workspace can use Nepali trained data, but accuracy varies with font, scan quality and layout. Always compare the result with the original.
Why does the first scan take longer?
The recognition engine and selected language data may need to download and initialize before they can be cached.
Primary and project sources
- Tesseract.js project — Tesseract.js maintainersPrimary project documentation for browser OCR.
- Tesseract user manual — Tesseract OCRRecognition engine documentation and language information.
- Media Capture and Streams — W3CBrowser camera-permission and media-capture standard.