How to copy text out of a photo or a scan, with OCR on your device
2 min read
A photo of a receipt, a screenshot of a slide, a scanned contract you need to quote — the text is right there in the pixels. Optical character recognition turns it back into text you can select, search and paste.
This OCR tool runs the recognition engine and the language data in your browser, served from this site rather than called from a third-party API. A page of handwriting, an ID document or a signed contract never leaves your device.
Open tool →Image to text (OCR)Read the text out of a photo or a scan in the browser. Nothing is uploaded.What makes OCR work well or badly
Accuracy is decided before the engine runs, by the quality of the image:
- Resolution — around 300 DPI is the classic target. Below roughly 150 DPI small text merges into blobs.
- Contrast — dark text on a light background, evenly lit. A shadow across half the page halves your accuracy.
- Skew — a page photographed at an angle has to be straightened, or lines drift across character cells.
- Sharpness — motion blur and out-of-focus shots are much harder than low resolution.
The steps
Extract text from an image locally
- Open the pictureDrop a PNG, JPEG or WebP on the OCR tool.
- Pick the languageEnglish data is always loaded; Simplified Chinese is available as well. Match the language of the text, not the language of this page.
- Wait for the first runThe first use downloads roughly 7.8 MB (engine plus English data) or 10.2 MB with Chinese, then caches it. Later runs start immediately.
- Read the result criticallyNumbers, names and punctuation are where OCR fails first. Skim them before you rely on the output.
- Copy or downloadTake the text as-is and fix the errors in your own editor.
Improving a bad scan first
If a page is skewed, cropped or low-contrast, a quick pre-pass helps more than any setting in the OCR tool. Straighten the photo, increase contrast and crop to just the text block. For a PDF, render the page to an image at 2× first and OCR that.
Open tool →PDF to imagesRender every PDF page to a PNG or JPEG at the resolution you choose.Where OCR still struggles
Handwriting, decorative fonts, tables with merged cells and text over photographs are the hard cases for any engine of this class. Expect to correct the output rather than to trust it, and never OCR a legal or financial document and use the result without reading it.
A scanned PDF has no text layer. If you have been selecting from PDFs and getting nothing, that is why — the page is an image, and it needs OCR rather than text extraction.
Tools used in this guide
Questions about this guide
- Is my image uploaded for OCR?
- No. The engine and the language data are served from this domain, and the image is read by your own browser. There is no recognition API in the request path.
- Which languages can it read?
- English and Simplified Chinese recognition data ship with the page. Other languages need a different trained data file, which is a future addition rather than a hidden setting.
- Does it work offline?
- After the first load, yes — the engine and the data are cached by the browser, so recognition continues to work without a connection.
- Can it read handwriting?
- Poorly. The model is trained mainly on printed text. Clean, well-spaced handwriting sometimes works; anything cursive usually does not.
All guides
- How to merge PDF files without uploading themCombine several PDFs into one document, in the order you choose, entirely in your browser. No upload, no account, no page limit.
- How to split a PDF: extract a page range or one file per pagePull out the pages you need from a PDF, or turn a document into one file per page — locally, without uploading it.
Written and maintained by the FreeOnlineBox project. Every tool named in this guide runs on the reader’s own device; no file described here is uploaded to check it.