Extract text from images using AI-powered OCR — works entirely in your browser.
Drop image here or browse
extracted-text.txt. Both use the text as it is in the box, with your changes.The tool uses Tesseract.js, a free, open-source OCR engine (OCR means optical character recognition, or reading text from a picture). Your image is read by your own browser. It is not sent to FreeToolPoint or to anyone else.
The engine itself is not stored on this site. The first time you click Extract Text, your browser downloads the engine program and the data file for the language you picked from the jsDelivr CDN, a public file host. Each language file is about 1 to 3 MB. On a slow connection this first run can take a while. Your browser usually keeps a copy, so later runs in the same language start much faster. If you pick a new language, that language file is downloaded the first time you use it.
OCR works best when the image looks like a clean printed page. The further your image is from that, the more mistakes you should expect.
| Usually good | Often poor |
|---|---|
| Screenshots of websites, apps and documents | Handwriting, most of all joined-up writing |
| Clear scans of printed pages | Photos of a thick book where the page curves near the spine |
| Straight, well-lit phone photos of a flat page | Dark photos, shadows across the page, or glare on glossy paper |
| Dark text on a plain light background | Tiny text, such as the small print in a wide photo |
| Common book and screen fonts | Decorative fonts, text on busy pictures, and text at an angle |
| Simple paragraphs in one column | Tables, forms and pages with many columns |
Tables are a special case. The words in each cell are often read correctly, but the grid is lost. A row comes out as one line of words with spaces between them, and you have to rebuild the columns yourself.
A few minutes of preparation often saves more time than fixing the text afterwards.
OCR is rarely perfect. Always read the result next to the original image, most of all for numbers, names, dates and prices. The tool does not show a score for how sure it is about each word, so you need to check yourself.
The same mix-ups come up again and again, because some characters look almost the same:
For example, a receipt line that says Total 110.00 might come out as Tota1 1l0.O0. The words look close enough to miss, but the number is wrong. A good habit is to search the text for the letters O and l inside numbers.
You can fix mistakes right in the Extracted Text box. Click in the box and type. Copy to Clipboard and Download as TXT use the text with your changes. If you click Extract Text again, the box gets a new result and your changes are lost, so copy or save your work first.
If the tool says no text was found, check that the right language is selected. Then try a sharper, tighter crop of the text.
The list has 10 languages: English, Spanish, French, German, Portuguese, Chinese (Simplified), Japanese, Korean, Hindi and Arabic. Other languages are not offered here. If a page mixes two languages, pick the main one. Words in the other language may come out wrong. Picking English for a Chinese or Arabic image will give nonsense, because the English model does not know those characters.
This tool only accepts images. A scanned PDF is really a set of page images, so it needs two steps. First, turn each page into an image with PDF to Image. PNG at 2x or 3x scale keeps small text sharp. Then upload the pages here one at a time. If you can already select and copy text in your PDF viewer, the PDF has real text inside. In that case you do not need OCR. Just copy the text directly.
There are 10: English, Spanish, French, German, Portuguese, Chinese (Simplified), Japanese, Korean, Hindi and Arabic. The tool reads one language per run, so pick the main language of your image before you click Extract Text. Other languages, such as Nepali or Russian, are not in the list. Hindi uses the same Devanagari script as Nepali, so it may read some Nepali text, but expect more mistakes.
No. Your image is read by Tesseract.js inside your own browser and is not sent to FreeToolPoint or anyone else. The tool does download two things: the OCR engine and the language data file. Your browser fetches them from the jsDelivr CDN the first time you use a language.
On the first run your browser has to download the OCR engine and the data file for the language you picked. Each language file is about 1 to 3 MB. Your browser usually keeps a copy, so later runs in the same language start faster. Choosing a new language downloads that language file the first time.
Yes. Click in the Extracted Text box and fix any mistakes. Copy to Clipboard and Download as TXT use the text as it is in the box, with your changes. If you click Extract Text again, the box is filled with a new result and your changes are lost.
Only sometimes. The engine is built for printed text. Neat, separate capital letters may work. Joined-up handwriting usually comes out with many wrong or missing words. Always check the result against the image.
Not directly. The tool accepts one image at a time. If you drop several files, only the first one is used. For a scanned PDF, first turn each page into an image with the PDF to Image tool, then upload the pages here one by one.