IMAGE TO TEXT (OCR)
Upload a photo or scan of a document and extract the text from it. Works with PNG, JPG, GIF, WebP, BMP and TIFF files up to 15 MB.
Privacy note: this tool uploads your image to the server so it can run
the OCR engine, and a copy of every file is saved in the dev/uploads folder.
Don’t upload anything you need to keep private.
Image
No results yet
Choose an image and press Run OCR — the extracted text will show up here.
What OCR does well — and what it doesn't
This is the easy case: typed or printed pages, sharp screenshots, scans at 300 DPI or better. Expect near-perfect results on a straight, well-lit page.
Workable if the page fills the frame, is lit evenly and is not at an angle. Crooked, shadowed or flash-blown photos are where accuracy falls apart.
No. Tesseract is trained on printed type — cursive and block capitals come back as confident nonsense, which is worse than nothing because it is hard to spot.
Shaky. The engine reads lines of pixels, so multi-column layouts, tables and sidebars can interleave. Extract one column at a time when it matters.
How to get a better result
- Crop to the text. Anything else in the frame — margins, logos, a hand holding the page — is just noise for the engine to misread.
- Straighten it. Even a few degrees of tilt confuses the line detection; most phone photo editors have a straighten tool.
- Go bigger, not smaller. Roughly 300 DPI is the sweet spot. Upscaling a blurry 72 DPI image does not add detail that was never there.
- Maximise contrast. Black text on white is ideal. Grey-on-grey, low-contrast scans on yellowed paper and page shadows are the usual culprits behind a garbled result.
- One language at a time. This instance is running the English language data, so non-English text will come out creatively misspelled.
What happens to your image
This tool is the one place on 2RE Club where your file leaves your browser: OCR runs on
the server, so the image is uploaded, saved in the server's uploads folder,
and the extracted text is written next to it as <filename>.ocr.txt.
uploads is never served publicly and is not web-accessible from the internet
— it can only be browsed through the password-protected
/secret dashboard, which only I have the password for. There is no automatic
deletion yet: files stay until I clear them out. Do not upload passports, ID
documents, contracts or anything else you need to keep private.
The OCR engine runs on this site's own server, so the tool needs the Node app behind it. On a static copy of the site the upload fails with an error rather than silently sending your image somewhere else. When the result card says “Saved as … in the uploads folder”, the file is on this server and nowhere else.
Frequently asked questions
Related tools
Count the words, characters and sentences in the text you just extracted.
Paste the output here to clean up the words the scanner misread.
Load a public page and copy text out of it when the site fights you.