🔠

OCR – Image & PDF to Text

Pull editable text out of photos, screenshots and scanned PDFs — recognition runs locally, so files never leave your device.

Free Private – No Upload Works in Browser
🔠
Drop images or a PDF here
or click to browse — recognition runs on your device
JPG · PNG · WebP · BMP · GIF · PDF
Extracted text

How it works

1

Add your file

Drop in a photo, screenshot or scanned PDF. Multiple files are queued and processed in order.

2

Pick the language

Choose the language your document is written in — this loads the matching recognition model.

3

Extract

Each page is rendered and analysed. Progress and a confidence score are shown as it runs.

4

Copy or download

Edit the result inline, copy it to the clipboard, or save it as a plain text file.

Turn scans back into text you can edit

Photos and screenshots

Recognise text in a photographed document, a screenshot or a whiteboard shot and get it back as plain, editable text.

Scanned PDFs

A scanned PDF is just images in a wrapper — normal text extraction returns nothing. OCR reads the pixels instead, page by page.

Nothing is uploaded

The recognition engine is downloaded to your browser and runs on your device. Your documents are never transmitted to a server.

Frequently asked questions

What is the difference between this and PDF to Text?

PDF to Text reads the text layer already embedded in a PDF, which is instant but returns nothing for scanned documents. OCR analyses the page image pixel by pixel to recognise characters, so it works on scans and photos where no text layer exists.

Which languages are supported?

English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Hindi, Arabic, Chinese (Simplified), Japanese and Korean. Pick the language that matches your document before running — accuracy drops sharply with the wrong language model.

Are my files uploaded to a server?

No. The Tesseract recognition engine and the language model are downloaded to your browser on first use, and all processing happens locally on your device.

Why is the first run slow?

The language model is a few megabytes and is downloaded once on first use, then cached by your browser. Later runs in the same language start immediately.

How can I improve accuracy?

Use the highest resolution image you have, make sure the text is level rather than skewed, and prefer good contrast — dark text on a light background. Photos taken at an angle or in poor light recognise noticeably worse.