Extract Text from Images with OCR
Upload one screenshot, photo or scan and read the text out of it. OCR runs in your browser using the English language model, and each detected line comes back with a confidence value you can export.
By Yasir Yaseen · Updated November 2026
Drop an image with text here
or click to browse - PNG, JPG, WebP, GIF and more up to 20 MB
Best for screenshots, receipts, posters, menus, labels, book pages, business cards, and scanned notes. The first OCR run may take longer while your browser downloads the English language model.
Steps
1. Prepare the image
Crop away everything that is not text and straighten it first. See the checklist below.
2. Run OCR
Choose an image up to 20 MB and click the extract button. The first run downloads the English language data, so it takes longer than later runs in the same browser.
3. Check the confidence column
Each line shows a confidence value. Low values mark the lines most likely to contain misreads; check those against the source.
4. Export
Copy the text, or download TXT, CSV, TSV, XLSX, JSON or HTML.
What this tool does and does not do
This is a single-image OCR tool built on tesseract.js, an open-source OCR engine compiled to run in the browser. The image is not sent to a server for recognition. What does come over the network is the language data file the engine needs, which your browser downloads the first time you run OCR.
Only the English model is loaded. Text in other languages or scripts will come out as guesses made from English letter shapes, and accented characters are often dropped or replaced. There is no language selector today. The tool reads one image per run; if you arrive from another tool with several images, only the first is read. It does not offer a 'continue with' step after OCR, since the output is text, not a file another tool can take.
What makes OCR succeed or fail
Tesseract works on pixels, not meaning, so the quality of the input decides most of the result. Accuracy varies a lot from image to image, and we do not publish a single accuracy figure because it would not be honest.
| Factor | Helps | Hurts |
|---|---|---|
| Resolution | Letters tall enough to be clearly formed; a screenshot at native size or a scan at a typical document scan resolution | Tiny text in a large photo, heavily downscaled images, blurry phone shots |
| Contrast | Dark text on a plain light background | Text over photos, gradients, watermarks, or coloured backgrounds with similar brightness |
| Skew | Lines of text that run level across the image | Pages photographed at an angle or rotated; the engine expects roughly horizontal lines |
| Layout | A single column of text | Multiple columns, sidebars and tables, which can be read across instead of down |
| Typeface | Common printed fonts | Decorative, condensed or script fonts, and handwriting, which OCR engines read poorly |
| Small print | Large, spaced characters | Fine print on labels and receipts where letters touch and punctuation vanishes |
Pre-processing checklist
The tool passes your file straight to the engine with no cleanup of its own, so do this beforehand. All three steps run in the browser as well.
- Crop to the text block. Removing borders, logos and photos stops the engine from inventing characters out of them.
- Rotate or flip so the lines are level. Phone photos taken sideways are a common cause of garbage output.
- If the image is a very large photo of a small piece of text, crop tighter rather than shrinking it; shrinking removes the detail OCR needs.
- Avoid re-saving as heavily compressed JPG before OCR. Compression artefacts around letters cause misreads.
- Check the lines with low confidence values against the original. Do not treat the output as final for amounts, codes or names.
Choosing an export format for a receipt or other table-like image
Every export is built from one record per detected line, with columns for source file, page, line number, confidence and text. OCR here does not split a line into cells. A receipt row such as an item name followed by its price therefore lands in one Text cell, not two.
For a receipt you plan to total, download CSV or XLSX and split the Text column afterwards, for example with your spreadsheet's text-to-columns feature, using the gap or the currency symbol as the separator. TSV is the same data separated by tabs, useful when item names contain commas. XLSX adds a second sheet with the plain text, one line per row. JSON suits scripts that want the confidence values. HTML gives a table you can paste into a page. TXT is the right choice when you only want to copy paragraphs. Always re-add up the totals yourself; one misread digit does not announce itself.
Frequently asked questions
- Why did OCR return nothing, or only gibberish?
- The usual causes are text that is too small in the image, low contrast, a rotated photo, or a non-English language. Crop to the text, rotate it level and try again. Only English recognition is loaded.
- Can it read several images at once?
- No. It reads one image per run. For a multi-page document, convert it with the PDF to Text tool or run each image separately.
- What does the confidence number mean?
- It is the engine's own estimate for each detected line, shown as a whole number. It is a hint about which lines to double-check, not a guarantee that high-scoring lines are correct.
- Is the image uploaded anywhere?
- The recognition runs in your browser. The browser downloads the OCR engine and English language data on first use, which can take a few seconds on a slow connection.
- Can it read handwriting?
- Not reliably. The engine is trained mainly for printed text. Very neat, block-capital handwriting sometimes works; cursive usually does not.
- Why did my table come out as one long column?
- OCR returns lines of text, not cells. Export CSV or XLSX and split the text column in your spreadsheet.
Related tools
Image cropper
Cut the image down to the text block before running OCR.
Rotate and flip
Straighten sideways or tilted photos so the lines of text run level.
PDF to text
For documents rather than single images; offers a fast mode and an OCR mode.
Further reading: Extracting text from an image to CSV or Excel and the receipt photo to Excel workflow.