OCR Image to Text - Bulk Images, Screenshots & Scanned PDFs avatar

OCR Image to Text - Bulk Images, Screenshots & Scanned PDFs

Pricing

from $1.40 / 1,000 page reads

Go to Apify Store
OCR Image to Text - Bulk Images, Screenshots & Scanned PDFs

OCR Image to Text - Bulk Images, Screenshots & Scanned PDFs

Reads the printed text in images, screenshots and scanned PDFs (every page) in 31 languages: clean text, confidence, and optionally every word with its box.

Pricing

from $1.40 / 1,000 page reads

Rating

0.0

(0)

Developer

Afterstar

Afterstar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Bulk OCR in your browser: paste links to images or PDFs (or upload a file), press Start, and download the text as CSV, Excel or JSON. $2.00 per 1,000 images or PDF pages read. Files that fail and pages without any text are free.

What you get back

One row per image or PDF page. Below is the tool's own example input (two test images from the Tesseract project, six languages picked), run on 13 October 2026, as returned:

inputUrlwordCountmeanConfidencetext (first lines)
.../tesseract-ocr/test/main/testing/phototest.tif6096.1This is a lot of 12 point text to test the / ocr code and see if it works on all types / of file format.
.../tesseract-ocr/tessdoc/main/images/eurotext.png6693.7The (quick) [brown] {fox} jumps! / Over the $43,456.78 <lazy> #90 dog / & duck/goose, as 12.5% of E-mail / from aspammer@website.com is spam. / Der „schnelle” braune Fuchs springt / über den faulen Hund. ...

Both images took 7.8 seconds together. Languages matter: in the same run the Spanish "marrón rápido" came back as "marrön räpido" (the German letters mixed in), and a run with only English picked read the German "über" as "iiber". Pick only the languages that are in your files (31 are built in).

How to OCR many images at once (no code)

  1. Open the tool on Apify and sign in (a free Apify account; Google sign-in works).
  2. In Image or PDF links, paste your links, one per line. Or give one link to a text file with a link per line (a Google Sheet published as CSV works), or upload one file from your computer.
  3. Pick the Languages in your images.
  4. Press Start. Rows appear file by file: an image as soon as it's read, a PDF's pages together when the PDF is done.
  5. In the run's Output, click Export and choose CSV or Excel (also JSON, XML or HTML). You get one row per image or page, with its link, text, word count and confidence.

The links must be files anyone can download (not a Google Drive or Dropbox preview page). For files on your own computer, upload them one at a time, or put them somewhere public first.

How to turn a scanned PDF into text, page by page

Paste the PDF's link like any image. Every page is rendered at 300 dpi and read, and each page becomes its own row with page and pages (page 3 of 6). Pages without any text are skipped and not charged. Max pages per PDF is 50 by default; raise it for longer documents. A scanned page takes about 5-15 seconds: a 6-page scanned newsletter and a 1-page scanned letter took 83 seconds together (see "Real runs" below).

If your PDF already has selectable text (it wasn't scanned), our PDF Text Extractor reads the text that's already in the file (with tables) instead of reading it from the page's pixels.

Get the text into Excel, Google Sheets or a CSV

Export the run's output as CSV or Excel (step 5 above). In Google Sheets: File > Import > Upload the CSV. Each image or page is one row and its text is one cell. The tool reads text; it doesn't rebuild a table in an image into separate columns.

Use it as an OCR API, or from n8n, Make and Zapier

Every run can also be started over Apify's API. This call reads an image and a PDF and returns the rows as JSON when it's done (put your own Apify API token in place of YOUR_TOKEN):

curl -X POST "https://api.apify.com/v2/acts/afterstar~image-ocr/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": [{"url": "https://example.com/scan1.png"}, {"url": "https://example.com/scan2.pdf"}], "languages": ["eng"]}'

Add &format=csv to the address to get CSV instead of JSON. A synchronous call waits at most 5 minutes; for big batches, start a run (/runs instead of /run-sync-get-dataset-items) and read its dataset when it finishes. Apify's n8n, Make and Zapier integrations run the tool the same way.

What does OCR Image to Text do?

It reads the printed text in your images, screenshots and scanned PDFs with Tesseract 5 OCR and gives you clean text: lines and paragraphs kept, plus the word count and the mean confidence (0-100) for each image or page. Optionally you also get every word with its confidence and its position (a box in pixels), for highlighting, redaction or layout work.

Give it direct links (PNG, JPEG, WebP, TIFF including multi-page TIFF, BMP, GIF, PDF) or upload your own file. Scanned PDFs are read page by page at 300 dpi. 31 languages are built in.

What you get

ReadsPrinted text in PNG, JPEG, WebP, TIFF (multi-page too), BMP, GIF and scanned PDFs, page by page at 300 dpi
InputDirect links to files, or one file uploaded from your computer
Per image or pageThe text with lines and paragraphs kept, word count, mean confidence (0-100), image size; optionally every word with its confidence and box
Languages31 built in, from English, German and Finnish to Russian, Arabic, Hindi, Japanese, Korean and Chinese
Schedule'Only new' mode skips links it has read before: they aren't downloaded or charged again
Price$2.00 per 1,000 images or PDF pages read; failed files and pages without text are free

Real runs: what came back

These are our own test runs (5 October 2026) on public files. The numbers are what the tool returned, not picked or edited.

FileWhat came backConfidenceTime
A 6-page scanned 1985 USDA newsletter (PDF, Wikimedia Commons) plus Bill Gates' 1976 "Open Letter to Hobbyists" (1-page scanned PDF)6 rows, one per page with text: page 1 (a cover) 14 words, pages 3-6 386-498 words, 482 on the letter; the nearly blank page 2 was skipped and not charged94.4-96.383 s for all 7 pages
A screenshot of a Ukrainian government website (PNG, Ukrainian + English, "scattered text" layout)51 words: the menu and headings ("Написати звернення", "Подати петицію", "ПРЕЗИДЕНТ УКРАЇНИ"...)885 s
A Hindi test page (Tesseract's own test image)154 words of Devanagari86.37 s for both
A Hebrew text with vowel points60 words, many misread45.8(same run)
Three phone photos of shop receipts (Vienna, UK, Indonesia)Vienna: 107 words, mostly garbled; UK: no text found (free row); Indonesia: card type and total read ("CARD TYPE DEBIT", "TOTAL Rp. 79,80…"), the date and header partly73.2 / - / 58.215 s for 3

What this tells you before you spend anything: sharp scans and screenshots read well (confidence 85-96), phone photos of receipts read only in part, and text with diacritics or vowel marks (Hebrew niqqud) reads poorly. Check meanConfidence in each row: below about 70, treat the text as a rough draft.

One row from the newsletter (page 3 of 6), as returned:

{
"inputUrl": "https://upload.wikimedia.org/wikipedia/commons/2/2a/Farm_broadcasters_letter_%28IA_CAT82764458066%29.pdf",
"changeType": "new",
"page": 3,
"pages": 6,
"text": "Letter No. 2239\n\nDAIRY PRICE\nSUPPORT\nEXTENDED\n\nWORLD WHEAT\n\nTRADE\n…\nSec'y of Agriculture John Block announced that the dairy price\nsupport provisions …",
"wordCount": 445,
"meanConfidence": 94.4,
"width": 2475,
"height": 3246,
"words": null
}

Use cases

  • Turn scanned invoices, letters and contracts into text for search, accounting or an AI assistant.
  • Read the text in screenshots, slides and product images.
  • Make old scanned PDFs searchable, page by page.
  • Feed a document pipeline: OCR in Apify, then Google Sheets, Make, Zapier or n8n.

Input

FieldWhat it does
Image or PDF linksDirect links to image files or PDFs, or a link to a text file with one link per line (a sheet published as CSV works too)
Or upload your own fileOne image or PDF from your computer (stored in your own Apify account)
LanguagesThe languages in your images (default English). Pick only the ones you need: each one makes reading slower
Page layoutAutomatic (documents, columns), one block, scattered text (screenshots, signs, labels) or a single line
Include every word with its boxAdds words: text, confidence and [left, top, width, height] per word
Max pages per PDFDefault 50 (from the first page)
Max pages in totalDefault 1,000 per run

Languages: English, German, French, Spanish, Italian, Portuguese, Dutch, Polish, Czech, Swedish, Danish, Norwegian, Finnish, Estonian, Latvian, Lithuanian, Hungarian, Romanian, Turkish, Russian, Ukrainian, Greek, Arabic, Hebrew, Hindi, Japanese, Korean, Chinese (simplified and traditional), Vietnamese, Indonesian.

Output

One row per image or PDF page (example above). page and pages are set for PDFs and multi-page TIFFs. Every row has every key (null when there's no value). A file that can't be downloaded or opened gives a free row with changeType: "status" and the reason (file_failed, robots_disallowed, ocr_timeout, bad_input for local or private addresses, list_failed / list_empty for a link list that can't be read or has no links); a file with no text at all gives a free no_text row. With "Include every word with its box" on, words looks like this (from a real run):

[{"box": [0, 9, 45, 9], "confidence": 92.6, "text": "nauris"}, {"box": [51, 6, 35, 12], "confidence": 96.8, "text": "vitae"}]

How much does it cost?

  • $2.00 per 1,000 images or PDF pages read (on paid Apify plans 10-30% less). A 20-page scanned PDF costs $0.04.
  • Plus Apify's start fee: $0.00005 per run.
  • Files that fail, pages without any text and status rows are free. Set a spending limit on the run and the tool stops there.
  • You pay only this price, no separate Apify platform usage. Apify's free plan includes $5 of credit a month, enough for about 2,500 images or pages here.

Run it on a schedule

Set Output mode to Only new results and give the same list of links each time (for example a list your own system keeps adding to): links read before aren't downloaded or charged again. Each saved task keeps its own memory.

Good to know

  • How well OCR works depends on the image: sharp, straight scans at 200-300 dpi read best (confidence 90+). Photos at an angle, handwriting, tiny or decorative fonts read badly; Tesseract is made for printed text, not handwriting.
  • Pick only the languages in your files. With several languages that share letters, accents can mix (Spanish 'marrón' read as 'marrön' when German is also picked).
  • A scanned page takes about 5-15 seconds; a screenshot or a short text, a second or two. Images larger than 6,000 px are scaled down; small screenshots are scaled up.
  • Files up to 50 MB. The tool obeys robots.txt of the file hosts and refuses local or private network addresses.
  • Text that's already in a PDF (not scanned) is read better by a PDF text extractor; this tool reads what it sees.
  • The text comes back as it is in your file, so read only files you're allowed to process. The tool has no ID-card, passport or face features.

How it compares

The three OCR tools people use most on the Store, from their own pages (read 9 October 2026). We haven't run them side by side, so this is about what each one says it does and costs, not about accuracy.

This toolGoogle Lens OCR (zen-studio)PDF Text Extractor (memo23)Bulk OCR (nerolabs)
EngineTesseract 5, inside the toolGoogle Lens (Google's service)the PDF's own text, OCR for scanned pages (23 languages)Tesseract, inside the tool
Price$2.00 per 1,000 images or pages$4.99 per 1,000 imagesfrom $5.00 per 1,000 PDFs, $15.00 per 1,000 OCR pages$5.00 per 1,000 OCR pages, $1.00 per 1,000 text pages
Readsimages, multi-page TIFF, scanned PDFsimagesPDFs (also password-protected)images and PDFs
Inputlinks, a text file of links, or one uploadimage links, HTTP API modelinks, upload, base64an Apify dataset, CSV, Excel or Google Sheet, keeping your columns
Uses the text already in a PDFno, reads what it sees-yesyes
Word boxesyes (optional)yes--
Failed filesfree---

Pick this tool for cheap, private OCR of images and scanned pages with word boxes. Pick memo23 or nerolabs if most of your PDFs already contain text, or nerolabs if your links sit in a spreadsheet you want back with the text added.

FAQ

Which files can it read? PNG, JPEG, WebP, TIFF (including multi-page TIFF), BMP, GIF and PDF. PDFs are read page by page at 300 dpi, and each page is one row.

Does it read handwriting? No. Tesseract is made for printed text. Handwriting, photos taken at an angle and decorative fonts read badly.

How accurate is it? Sharp, straight scans at 200-300 dpi read best, at a mean confidence of 90 or more, and every row gives its confidence. See "Real runs" above for what phone photos of receipts and Hebrew with vowel marks look like.

My file failed with "403" or "file_failed". Why? The site holding the file refused the download, or the link needs a login. The tool doesn't use proxies or log in anywhere, and it obeys robots.txt. You get a free status row with the reason; upload the file instead, or put it somewhere public.

Am I charged when a file fails or can't be reached? No. Files that can't be downloaded or opened, and pages with no readable text, give free rows. A nearly blank scanned page that reads as a stray mark or two is treated as no text, so it's free too.

It's taking long. Will it finish? A scanned page takes 5-15 seconds, so a 100-page PDF takes several minutes. The run keeps going until "Max pages in total" (default 1,000) and saves each file's rows when that file is done, so a stopped run keeps the files it already finished. A run with 7 scanned pages took 83 seconds.

Should I use it for PDFs that already contain text? No: text that's already in a PDF is read better by a PDF text extractor. This tool reads what it sees on the page.

Can I give it a spreadsheet of links? Paste the links, one per line, or link a text file of links (a Google Sheet published as CSV works too). Each link in it is read like a pasted one. A list that can't be read, or a web page instead of a list (like a sheet's normal edit link), gives a free status row saying so.

Who sees my files? The OCR runs inside the tool; no outside AI service sees your files. The text is stored in the run's dataset in your Apify account, under Apify's data retention.

Source: the files you provide. OCR by Tesseract 5 (Apache 2.0), run inside the tool; no outside AI service sees your files.

More Afterstar tools

Found a problem or need a language? Open an issue on the Issues tab.