Skip to main content

Free OCR — Image to Text Extractor

Extract text from images, screenshots, scanned documents and PDFs (or save a searchable PDF) with PP-OCRv5, running entirely in your browser. Reads Latin, Chinese, Japanese, Korean, Cyrillic, Arabic, Devanagari, Thai, Greek, Tamil and Telugu script.

Many online OCR sites upload your image and cap free pages per hour or per day — here the text is read on your device, and the image never leaves it.

Drop files here, or click to browse

JPG, PNG, WebP, BMP, PDF, HEIC, HEIF · processed on your device

or press Ctrl+V to paste from your clipboard

You can drop multiple files at once

Browse files

Tip: you can paste a screenshot with Ctrl+V

Scanned PDFs work too: every page is read, and you get a searchable PDF back.

Your files never leave your device. All processing happens locally in your browser.

Common uses

  • Extract Text from ScreenshotsPull text out of screenshots — error messages, chat conversations, articles you photographed.
  • Convert Scanned PDFs and Photos to TextExtract text from scanned documents, contracts, receipts, and photographed papers.
  • OCR for 20+ LanguagesExtract text from images in Spanish, French, Chinese, Japanese, Arabic, and many other languages.
  • Digitize Business CardsExtract names, emails, phone numbers from photographed business cards into searchable text.
  • Make Images AccessibleExtract text from images that lack proper alt text — useful for accessibility audits and screen reader support.

How It Works

OCR (Optical Character Recognition) here runs PP-OCRv5, an open-source model set from the PaddleOCR project, directly in your browser. It reads printed text from a photo or scan without the image ever leaving your device.

  1. 1
    Text regions are found first
    A detection model scans the image and outlines every patch that looks like a line of text, working on a copy scaled so its longest edge is about 960 pixels. This is why a photo of a receipt works: the model locates the text rather than assuming the whole image is a clean page. This stage is the same whatever language you are reading, so it downloads once - about 12 MB - and is reused.
  2. 2
    One recogniser downloads for your script
    Reading the shapes is script-specific, so a second model is fetched for the writing system you picked - roughly 8 MB for most, 13 MB for Korean and 17 MB for Chinese and Japanese. Choosing Latin costs about 19 MB in total. Each one is cached, so switching back to a script you have used before downloads nothing.
  3. 3
    Each line is straightened and read
    Every detected line is checked for orientation, rotated upright if needed, then passed to the recogniser, which reads it character by character. Reading order is reconstructed afterwards, top to bottom and left to right, so the output matches the layout you can see rather than the order the detector happened to find the boxes in.
  4. 4
    Text comes back with boxes and confidence
    Each line carries a confidence score and the coordinates it came from, so you can see exactly what was read from where, and export hOCR that keeps those positions. Clean, high-contrast text scores well above 90%; low resolution, glare and handwriting drop it.

Your images stay on your device - not even temporarily uploaded for processing. The model files themselves download from our own server (or an identical official copy if ours can't be reached). Safe for ID documents, contracts, medical paperwork, or any text with sensitive content.

Guide

Worked example

Take a scan of an A4 page that is 2,480 × 3,508 pixels (300 dpi). Leave "Image language" on English, press "Extract Text", and the tool looks for text on a copy shrunk to 672 × 960 pixels, then reads each line from a 1,357 × 1,920 copy. Afterwards the tiles show "Confidence", "Lines", "Words" and "Chars". If you choose "Searchable PDF (.pdf)", a file named like "scan_ocr.pdf" has the original image on a page of about 595 × 842 points (A4 size) with the recognized text laid invisibly over it. On a first visit the Latin script pack is 7.7 MB and the shared detector 11.1 MB, 18.7 MB of models in all. Drop a 10-page scanned PDF instead and the page says "10 pages · about 5 minutes on this device", which is a first guess of 30 seconds per page.

Which settings to use, and the limits

  • Choose the image language before you press "Extract Text". The "Image language" menu lists 51 languages in groups by writing system, and each group heading shows the download size, such as "Latin script — 7.7 MB" or "Chinese & Japanese — 15.9 MB". Languages in the same group share one download, so switching from French to Polish costs nothing. Korean, Arabic, Devanagari, Thai, Greek, Tamil and Telugu each need their own pack. The menu starts on your page language, then remembers your last choice in this browser. Hebrew is not supported, and the page says "Hebrew is not supported by this engine."
  • Drop, paste or batch your files. The tool takes JPG, PNG, WebP, BMP and PDF files, and you can paste a screenshot with Ctrl+V. Drop several files, or use "Add more files", and they go into a queue that reads them one after another with the same language. In the queue you choose "Save each file as" "Plain text (.txt)" or "Searchable PDF (.pdf)", and the menu has "Download one combined .txt". An image over 40 megapixels is refused, for example anything larger than 8,000 × 5,000 pixels.
  • Pick the export format that fits what you need. "Export format" offers "Plain text (.txt)", "Searchable PDF (.pdf)" and "hOCR searchable text (.html)". An image opens on the text option, and a PDF opens on the searchable PDF. The searchable PDF keeps the original page images exactly as they are with the text invisible on top, so you can search, select and copy in a PDF viewer. hOCR is offered for single images only. It keeps each line's position, but as upright rectangles, so tilted lines lose their tilt. Files are named like "scan.txt", "scan_ocr.pdf" and "scan.hocr.html".
  • For scanned PDFs, expect about 30 seconds a page, and use "Stop and keep". Before you start, a PDF shows a time guess based on 30 seconds per page. From the second page on, the bar switches to a measured "about N min left" on your own device, and a button such as "Stop and keep the first 3 pages" appears. Pressing it ends the run and keeps the finished pages, and the result notes "Stopped early: the text and the searchable PDF cover pages 1–3 of 10." Pages that already hold real text are kept as they are, with the note "This page already contained text, so it was kept as it is." A password-protected PDF is refused.
  • Give the detector a clear, close shot of the text. Text is found on a copy of your image whose longer side is at most 960 pixels, and small images are never enlarged. So a whole page photographed from far away leaves little detail per letter. Crop to the text you need and photograph straight on with even light. Lines the recognizer scores below 50% are dropped. After a run, "Show detected text boxes" draws the boxes on the preview, so you can see which lines were found. The page itself warns that handwriting still works poorly and that very small or low-contrast print can be missed.
  • Know what downloads, and what does not leave your device. The first run downloads the shared detector and orientation models (11.1 MB together) and the pack for your script, and the page states the one-time figure before it starts. It also fetches the shared ONNX Runtime engine file, which is counted in that figure, unless another on-device tool on the site has already cached it. After that the models stay in your browser cache and the page says "Model already downloaded - nothing to fetch." The page's model notice says the model files download from the site's own server and your file is never uploaded. If you want the space back, use "Remove downloaded model" with its size.

Common problems and how to fix them

It says "That image could not be read. Try a JPG, PNG or WebP file." and "Extract Text" is greyed out.
The browser could not decode the file as a picture. The file may be damaged, or be a different format saved under a JPG or PNG name. The button stays off for that file so it does not fail again; remove it and add a different one. Re-save the picture as a JPG, PNG or WebP, or take a screenshot of it and paste that. A PDF that will not open gives "This file couldn't be read as a PDF. It may be damaged, or not a PDF at all."
It says "OCR failed".
The run stopped before finishing. One cause is that the on-device engine sent no sign of progress for 180 seconds, which the page treats as stuck. That timer counts only time when the tab is visible, so leave the tab in front during a long run. After a failure the tool discards its worker, so pressing "Extract Text" again starts a fresh one. If it keeps happening, crop or shrink the image, run a PDF in smaller pieces, or try a desktop browser.
It says "No text found. Try a sharper image, or one with more contrast between the text and the background."
The detector found no line the recognizer was at least 50% sure about. Check "Image language" first, because each pack is built for one writing system, so a Latin pack is the wrong choice for Arabic, Thai or Chinese. Then crop to the text, increase contrast, and straighten the photo. Handwriting can give this result. In a PDF run the same message appears only when no page produced any text, so a PDF that already has real text on every page gives text and not this message.
The model box says "The download stopped - check your connection and try again." or "Your device is set to save data, so the download has not started."
The recognizer files could not be fetched. Check the connection and press "Try again", or switch off the data saver or move to Wi-Fi if the data-saver message appears. A stalled download is reported separately. Your image is decoded before the download starts, so an unreadable or oversized file never costs you a download. If the box says the device does not have enough memory, or the browser is too old, use a desktop computer or an up-to-date Chrome, Edge, Firefox or Safari.
It says "That image is too large to process in a browser tab (limit 40 megapixels). Resize it and try again." or "A page in this PDF is too large to render in a browser tab."
The image has more than 40 million pixels, which is more than a browser tab can process safely. This is checked before any download. Resize or crop it in any image editor and add it again, or take the shot at a lower camera resolution. A phone photo of 12 megapixels is well inside the limit. For a PDF, the message means one page is enormous, many feet across. Export it at a smaller page size first. In a queue, the file shows "Image too large to read".

How it compares

If a PDF already has selectable text, you do not need OCR at all: the tool notices this and keeps those pages as they are. For scans and photos, recognition here runs on your processor, so a dense page takes about 30 seconds and a phone is slower, while other OCR software may be faster. This tool finds lines of text and returns them in reading order, with no table, column or font reconstruction, so a two-column page can come out with the lines of both columns mixed together. What it offers in return is a searchable PDF output, 51 languages, and a file that is not uploaded.

Related Tools

Frequently Asked Questions