Extract text from an image without uploading it
Updated 2026-09-20
You have a photo of a page, a screenshot of a message, or a picture of a receipt, and you want the words as text you can paste. No tool here turns an image straight into text, but two of them in sequence do it without the picture leaving your device: JPG to PDF wraps the image in a one-page PDF, then OCR PDF renders that page, reads it with Tesseract compiled to WebAssembly, and shows the recognized text with a Copy button. Recognition is English only, and both steps run in your browser.
Open OCR PDFFree, in your browser. Nothing is uploaded.Why it takes two tools
OCR PDF takes PDF files only, and its recognizer works on pages: it renders a page, reads it, and writes the words back over that page as invisible text. An image is not a page yet, so you give it one. JPG to PDF wraps each picture in a page, which is all the recognizer needs. Its picker allows JPEG, PNG and WebP, judging each file by its type and file extension, so anything else is turned away with a message like "receipt.heic" is not a supported file type for this tool. JPEG and PNG bytes go in unchanged; a WebP is re-encoded as JPEG through a canvas first.
The PDF in the middle is disposable: feed it to OCR PDF, copy the text, then delete it. Keep the second step's download only if you want the picture with a searchable text layer. If the picture is not a file yet, Scan to PDF wraps camera captures the same way.
Step one: the Page size choice that matters
In JPG to PDF, Page size offers Match each image, selected by default, and Fixed page size. Keep Match each image when recognition is the point: it makes the page exactly as many points wide and tall as the picture is pixels, so the whole picture is there to render.
Fixed page size centers the picture on the Paper you choose (A4, Letter, Legal, A3 or A5) inside a Margin (pt) that starts at 24, scaling it down to fit, or up if it is smaller than the printable area. That matters because OCR PDF renders each page at 200 dpi and no wider than 2,400 pixels. A 3,000-pixel-wide photo reaches the recognizer at 2,400 pixels across under Match each image, but at roughly 1,500 pixels after being fitted onto A4 portrait with the default margin. A very tall picture, such as a long screenshot, is rendered smaller still, because the page render is also capped at 16 million pixels.
So for anything larger than the printable area, which includes every phone photo, Match each image leaves the recognizer more detail. For a small picture that fits inside the margins untouched, both modes resample the same pixels and the choice barely matters.
Step two: recognize and copy
Open OCR PDF, click Select file, and add the PDF you just made. Leave Language of the text on English (in your browser), the only entry in the list on the deployed site. Leave Skip pages that already have text ticked: a page made from a photo has no text layer, so nothing gets skipped. Click Make searchable.
The first run downloads about 5 MB of recognition engine and model, which the browser caches. Each page is rendered, then read with automatic page segmentation, which finds headings, columns and captions separately instead of treating the page as one block.
The note in the result says how many pages were recognized and that nothing was uploaded. Below the buttons, a panel labeled Recognized text holds the plain text with a Copy button, which is what you came for. The Download button is named after your file with -searchable.pdf on the end: the same picture, with the invisible text over it.
Read it before you trust it
Recognition follows the picture. A sharp, straight, evenly lit photo of printed text reads well; an angled, dim or blurry one, small text, handwriting and decorative fonts produce errors and gaps. Cropping to just the block of text, or retaking the shot closer and squarer, helps more than any setting in either tool.
A photo your phone stored sideways is a common cause of near-empty output. JPEG bytes are copied into the PDF as they are, and the rotation tag your phone applies when displaying the picture is not applied here, so the recognizer can be looking at sideways text. Turn it upright before step one, or run the PDF through Rotate PDF and recognize it again.
Check numbers and names against the picture. The panel holds everything the engine read, which is why it is the copy to work from; the invisible layer holds less, because words the engine scored below 30 out of 100, and characters its built-in font cannot encode, are left out. A word you can read in the panel is not always findable with Ctrl+F in the download.
Step by step
- 1Open JPG to PDF, click Select files, and add your photo or screenshot. Add more files picks up any you missed, and you can drag the rows into the order the pages should follow.
- 2Leave Page size on Match each image, adjust Output file name if you want (it starts as images.pdf), then click the run button, which reads Create PDF from 1 image and counts up with the number of images you added.
- 3Click Download followed by your file name to save the PDF.
- 4Open OCR PDF, click Select file, and add the PDF you just saved.
- 5Leave Language of the text on English (in your browser) and Skip pages that already have text ticked, then click Make searchable.
- 6Read the panel labeled Recognized text, click Copy, and paste the words where you need them.
- 7Compare the pasted text with the picture and fix any numbers or names the engine misread.
Questions
- Is my photo uploaded to a server?
- No. Both steps run in your browser: the image is wrapped into a PDF on your device, and English recognition runs there too, which is why the first run downloads the engine and model. The note with the result says nothing was uploaded. The site does load one third-party script, an affiliate tracker from impact.com, described on the privacy page: it can see which page you are on, the way any analytics script can, while your picture and the text read from it are never put into a network request.
- Can I do this with a HEIC photo from my phone?
- Not directly. A .heic file is turned away by the picker, which allows JPEG, PNG and WebP by type and by file extension, with a message that it is not a supported file type for this tool. Export or save the picture as JPEG or PNG first, or take a screenshot of it, then start at step one.
- Why did the recognized text come back as nonsense?
- Usually the picture rather than the settings. A sideways photo, a blurry or angled one, or very small text gives the engine little to work with. Text in a language other than English is read as though it were English, which produces nonsense, and accented characters are unreliable. Handwriting comes back with heavy errors or almost nothing.
- Can I turn several photos into text in one run?
- Yes. JPG to PDF takes up to 20 images at a time and makes one page per image, in the order shown in the list. OCR PDF then reads every page of that one PDF, and the panel shows each page's text after the last, separated by a blank line.
- Do I have to keep both PDFs?
- No. The PDF from step one only exists to give the recognizer a page, so delete it once you have the text. Keep the -searchable.pdf download if you want the picture with a text layer you can search and select; if you only wanted the words, the copy from the panel is enough.