Read text from images. Nothing is uploaded.
Text recognition works best on clear, printed text: a page photographed straight on, a screenshot, a slide, a receipt lying flat. It is unreliable on handwriting, on low-resolution photos, on pages that are skewed or curved, and on stylised or decorative fonts. Tables and columns are not rebuilt: the text comes out line by line in the order the engine found it. This version reads English only. Other languages are a later addition, so a page in Hindi or Spanish will come out as wrong English letters. Always read the result once before you rely on it, especially names, numbers and amounts, because recognition can swap characters such as 0 and O or 1 and l.
The recognition engine is Tesseract, compiled to run inside your browser. The first time you press Extract, the page downloads the engine and the English recognition data from this site: about 3.9 MB for the engine, about 2.95 MB for the English data and about 0.1 MB for a helper script, around 7 MB in all. Later uses are faster once your browser has cached those files. Images are read one at a time. A photo with a long side over 4000 pixels is reduced to 4000 pixels first, because a larger picture slows recognition and uses more memory without making small print easier to read. You can add up to 10 images at once.
With Keep line breaks on, each line of the image becomes a line of text, and a blank line separates paragraphs. With it off, the lines of a paragraph are joined with single spaces, which suits text you want to paste into a paragraph. A hyphen at the end of a line is left exactly as recognised, because the tool cannot tell a hyphen added by a line break from one that belongs to the word, as in state-of-the-art. Each image also gets a label. The engine reports how sure it is, on a scale of 0 to 100; an average of 60 or more reads Looks clear, and anything lower reads May contain mistakes. The label is a hint, not a guarantee.
The engine runs in a worker inside this tab. Your images are decoded and read there, and the text is held in memory while the page is open. There is no upload step and no server that receives your pictures or the text. The recognition files are fetched from this site only; nothing is loaded from another host. The page counts visits with Google Analytics, using rough groups such as the number of images, never a file name, a picture or any of the text. The text is not saved, put in the address bar or written to your device's storage. Closing the tab discards it.
Not reliably. The engine is trained on printed text. Neat block capitals on a plain background sometimes come out well, but cursive and quick notes usually produce wrong words. A photo of a whiteboard is similar. Read the result against the picture before you use it.
Photograph the page straight on, in even light, with the text filling most of the frame. A page shot at 3000 pixels on the long side reads far better than a 500 pixel thumbnail. If a photo is skewed or has shadows across the text, retake it. Images under 600 pixels on the long side are flagged as often read poorly.
The first run downloads about 7 MB of recognition data from this site: an engine of about 3.9 MB, English data of about 2.95 MB and a helper of about 0.1 MB. After your browser has cached those files, later runs skip the download and start sooner. Reading itself takes longer for a large photo than for a small screenshot.
English only in this version. There is no language picker. An image in Hindi, Telugu or Spanish will not be read correctly, and accented letters may come out as plain ones. Other languages may be added later.
Not directly. This tool takes JPEG, PNG and WebP images. For a scanned PDF, turn its pages into JPG images with PDF to JPG, then add them here. For a PDF that already has selectable text, PDF to Text reads the text without recognition.
No. The picture and the text stay in this tab's memory and are gone when you close it. Copy and Download use the text on your device. Google Analytics counts visits using rough groups, such as 2 to 5 images, and never receives a file name, a picture or any recognised text.