Image OCR for Text in Photos and Screenshots
How to turn a photo or screenshot into editable text
Extract text from a photo, screenshot or scanned image and export plain text or Markdown. Choose the text language or automatic detection, and use a clear image where characters are large enough to read. Check serial numbers, names and punctuation in the output before using them. OCR produces editable text; it does not establish that a document or label is authentic.
Cost: Free options are available. Pro options or use beyond the free allowance may require credits; see the guide below.
How to run OCR on an image
Upload one image
Drop a JPG, PNG, WebP, HEIC, HEIF, AVIF, BMP or TIFF file of up to 200 MB onto the preview, or click Upload an image to extract text. Images from other image tools are listed under Files.
Choose TXT or Markdown
In the OCR panel, TXT gives plain text and Markdown keeps structure as markup. The format is applied during extraction, so set it before you start.
Leave the language on Auto-detect
Language hint starts on Auto-detect, which suits most images. Pick a language only when a first run misreads characters. This also switches the image to a different recognition engine.
Extract the text
Click Extract text. The image stays in the preview, and the result appears below it in the Extracted text panel with a character count.
Proofread, then copy or download
Compare names, amounts, dates and codes with the image before you use them. Copy puts the text on your clipboard. Download saves a UTF-8 file named
ocr-result.txtorocr-result.md.
Output format and language hint
The OCR panel has two settings. Neither changes your image.
- TXT
- The default. Returns plain text without Markdown formatting. Tables the engine recognises become one line per row with tabs between the cells, so a pasted table splits into spreadsheet columns. Characters that are part of the text itself, such as
#hashtags,__init__or<div>in a code screenshot, are kept as written. Good for letters, receipts, chat screenshots and quotes. - Markdown
- Returns the text with its structure as markup: headings with
#, bullet lists, emphasis and tables. Choose it for structured documents and tables you want to keep as tables. Open.mdfiles in an editor that renders Markdown, otherwise you see the raw syntax. - Language hint: Auto-detect
- The image goes to GLM-OCR, a dedicated OCR model that works out the language and script by itself. It accepts no hint.
- Language hint: a specific language
- Choose English, German, Spanish, French, Italian, Portuguese, Russian, Japanese, Chinese, Arabic or Hindi. The image then goes to a Google Gemini model with instructions to use that language, its script and its reading direction as a hint for ambiguous characters and word boundaries, such as Han characters shared by Chinese and Japanese, or right-to-left Arabic. The model is told to keep text in other languages as written and not to translate, summarise or correct anything.
Which service reads your image
Image OCR runs on our servers, not in your browser. The server sends the complete image to an external AI service. With Auto-detect that service is GLM-OCR from Z.ai. With a selected language it is Google's Gemini API. If Gemini is rate-limited, the same request goes to the Gemini model through OpenRouter. Keep this in mind for passports, bank statements and other sensitive documents.
Because the two settings use different engines, switching between Auto-detect and a specific language gets you a second opinion, not a small adjustment. If one run garbles a line, the other may read it correctly. Each run counts separately towards your usage.
Getting a clean result
Recognition can only be as good as the image you upload.
Crop to the text you need
Menus, watermarks, price tags and signs in the background are transcribed too. Cut the image down with Crop Image and the output only contains the part you care about.
Straighten sideways photos
As a rule of thumb, OCR engines read upright, level lines most reliably. If a photo of a page is turned or tilted, fix it with Rotate Image before you extract.
Prefer screenshots to photos of screens
A screenshot has sharp, evenly lit characters. A phone photo of a monitor adds glare, moiré stripes and perspective distortion, which are common causes of misread letters and digits.
Use PDF OCR for multi-page scans
This tool reads one image per run. If your scans are already in a PDF, PDF OCR processes all pages, or a page range, in one job.
Formats and limits
- Input formats
- JPG, PNG, WebP, HEIC, HEIF, AVIF, BMP, TIFF
- Output formats
- Plain text (.txt) or Markdown (.md), UTF-8, plus copy to clipboard
- Maximum file size
- 200 MB per image
- Files per job
- 1 image per run
- Processing
- On our servers, with recognition by GLM-OCR (Z.ai) or Google Gemini
- Usage
- Each image counts as one run. Once your free allowance is used up, guests need to log in and each further image costs 1 credit.
- Watermark
- None
- Storage
- Uploads and results are deleted automatically after 48 hours for guests and after 30 days for free accounts. Paid plans can keep files longer.
Frequently asked questions
Does Image OCR translate the text?
No. Text is returned in the language it is written in. Choosing a language under Language hint only helps the engine read ambiguous characters. Text in other languages on the same image is kept as written.
Why are some letters or numbers wrong?
Small, blurry or low-contrast text is the usual cause, followed by shadows and angled photos. Look-alikes such as 0 and O, 1 and l, or rn and m are classic confusions, so check codes and amounts. Use a sharper source, crop to the text, or run it again with the other Language hint setting to get a reading from the second engine.
Should I choose TXT or Markdown?
Choose TXT when you want to paste the text into an email, a form or a spreadsheet: you get clean text with tables split into tab-separated rows. Choose Markdown when headings, lists and tables should stay recognisable as structure, for example when you move a document into a note-taking app or a wiki.
Is my picture sent to a third party?
Yes. The image goes to GLM-OCR from Z.ai with Auto-detect, or to Google Gemini with a selected language (through OpenRouter if Gemini is rate-limited). On our side, uploads and results are deleted automatically after 48 hours for guests and after 30 days for free accounts.
What if the run fails?
If the image contains no readable text, the run ends with an error saying no text was extracted. Check that the text is sharp and large enough, crop away unrelated areas with Crop Image, and run it again.