Printed text only. Language choice matters most; the first run downloads the recognition engine and its model, and after that the tool works offline.
What this OCR tool does
Drop a photo of a document, a screenshot, a scanned page or a picture of a sign, and the text in it comes back as selectable text next to the image. Twelve languages are available: English, Simplified and Traditional Chinese, Japanese, Korean, Spanish, French, German, Portuguese, Russian, Italian and Vietnamese. English is always read along with the chosen language, so a Chinese contract with English names and numbers comes out as one document. Each image gets its own language setting and its own editable result box, so you can fix the odd character before copying.
Two engines do the reading, picked by the language you choose. English, Simplified Chinese, Spanish, French, German, Portuguese and Italian go to PP-OCRv6 from PaddleOCR: one network finds every line of text, a second reads each line, and the two models together are 6.3 MB. Traditional Chinese, Japanese, Korean, Russian and Vietnamese go to Tesseract, because that PP-OCR model has no kana, Hangul or Cyrillic in its character set and lacks many common Traditional characters. Both engines run in a worker thread of your browser and are downloaded once, then cached. The image itself never leaves your device, which matters for ID cards, contracts and medical papers.
How to use it
Add, drop or paste the images. Under each image, choose the language of its text, the biggest single factor in accuracy, and press Recognize; the first run also downloads the engine. To compare, switch the language and press Recognize again. Edit the result in place, then Copy it or download it as a .txt file. With two or more images, Copy all text and Download all as one .txt appear at the bottom.
For English, Simplified Chinese, Spanish, French, German, Portuguese and Italian, pointing at a line of the result highlights its box on the image, and clicking a box on the image selects that line. Lines are grouped along the tilt of the page, and a two-column page is read column by column. Keep line breaks follows the lines as printed; Join into paragraphs turns them into running text for pasting into a document. If a document arrived as a PDF, run PDF to image first and send the pages here with one click. Crooked photos read better after Rotate image and Crop image.
Common pitfalls
OCR reads printed text; handwriting, decorative fonts and text on busy backgrounds come out garbled, and no browser tool changes that. Accuracy depends mostly on the photo: fill the frame with the page, keep it flat and straight, use good even light, avoid shadows and glare, and do not shrink the image before dropping it — a 12-megapixel photo of an A4 page is ideal, a 600-pixel thumbnail is hopeless. Wrong language is the other big cause of nonsense: a Japanese page read as Chinese, or a French one as English, produces plausible-looking rubbish.
Tables come out as lines of text without the grid. Numbers with few surrounding words (invoices, meter readings) are read well but always worth checking, because a 6 and an 8 look alike to a machine too. The first use on a device downloads the engine and a language model, so it needs a network connection once; afterwards the tool works offline. Large batches on a phone can be slow; a few seconds per page is normal.
Background: how the text is recognised
PP-OCR works in two passes. A small detection network marks the pixels that belong to text, and each marked region becomes a tilted rectangle, so a photo taken a few degrees off still gives straight lines. Each line is cut out, scaled to 48 pixels high and read by a recognition network that knows 6,905 characters: Simplified Chinese, Latin letters with accents, digits and punctuation. The lines are then put back in reading order. Rows follow the tilt of the whole page, an empty gutter with long lines on both sides is treated as two columns, and a gap clearly wider than the usual line spacing becomes a paragraph break.
Before switching engines we ran both on 28 test images: clean renders of 13 texts, the same images shrunk, tilted 2.5°, noised and saved as low-quality JPEG, and two full A4 pages. On Chinese the average character error rate fell from 18.6 % with Tesseract to 1.3 % with PP-OCR, and on the photo-like versions from 22.2 % to 2.0 %. A white headline on an orange gradient came back empty from Tesseract and fully correct from PP-OCR. On clean English, French, German and Spanish both were nearly perfect. On our test machine, with single-threaded WebAssembly, a screenshot takes 0.3 to 0.7 seconds and a dense A4 page 6 to 8 seconds. Tesseract, still used for the other five languages, is an LSTM network trained per language; its models are the tessdata_best set quantised to 8-bit integers, and each image is converted to grayscale and enlarged to about 2,000 pixels before it is read.
When you need image-to-text
Copying a paragraph from a screenshot someone sent you. Turning a photographed whiteboard, slide or page of a book into notes. Getting the text out of a scanned letter or an old PDF that is only images. Extracting an address, an order number or a serial number from a photo. Digitising receipts and invoices for bookkeeping. Reading a menu, sign or label in another script so you can paste it into a translator.
On this site the chain is: rotate and crop the photo if needed, recognise the text here, and for PDFs go through PDF to image first. A document built from photos can be assembled with image to PDF once the text has been checked.
Frequently asked questions
Are my images uploaded?
No. Recognition runs in your browser, with PP-OCR or Tesseract depending on the language, both compiled to WebAssembly. The image never leaves your device. The engine and model are downloaded once and cached; after that the tool works offline.
Which languages are supported?
English, Simplified Chinese, Traditional Chinese, Japanese, Korean, Spanish, French, German, Portuguese, Russian, Italian and Vietnamese. Asian languages can be combined with English in one pass.
Can it read handwriting?
No — only printed text. Handwriting, decorative fonts and text over busy backgrounds are not read reliably by this or any browser-based OCR.
How do I get better accuracy?
Pick the right language, use a sharp, evenly lit, straight photo at full resolution, and crop to the text. Small or blurry images are enlarged automatically but cannot be sharpened.
Can I OCR a PDF?
Convert its pages with the PDF to image tool and send them here; each page becomes one editable text block.