Guide
Google Lens vs browser OCR
Lens works on camera photos and can translate what it reads. Browser OCR suits screenshots that should not leave your machine for recognition.
Updated September 25, 2026
Different defaults, different tradeoffs
Google Lens is built for phone cameras, shopping lookups, and quick translation of text in the world. It is made for pointing at a menu, a sign, or a foreign label and acting on what it finds.
Screenshot2Text is a browser OCR page for files you already have: screenshots, chat images, and scanned PDF pages. Recognition runs in your tab so the pixels do not need a cloud OCR hop for the read.
Neither tool owns every job. Lens fits when you want Google's translate and visual search stack. Browser OCR fits when the screenshot should stay on your device for recognition.
What we measured on our 22-screenshot set
Every comparison guide on this site uses the same test set: the 22 base screenshots from our OCR accuracy test. There are 5 app and settings screens (ui01-settings to ui05-form), 5 blocks of paragraph text (para01-article to para05-policy), 4 code and terminal snippets (code01-js to code04-json), 4 receipts, invoices, and price lists (num01-receipt to num04-bank), and 4 chat conversations (chat01-sms to chat04-family).
The table shows mean character error rate (CER) for each kind of screenshot saved as a lossless PNG, as a dark mode PNG, and as a simulated phone photo of the screen. Lower is better, and 0.00% is a perfect read. The main figures are run 3 results from September 25, 2026, read by the same in-browser OCR the homepage tool uses after a second OCR update that day. Run 2 results from earlier the same day sit next to them as history. We calculated the per-kind averages from the run 3 CSV and the run 2 CSV. The run 1 baseline CSV is there too.
In run 3 on this set, plain paragraphs stayed close to perfect in every version, from 0.09% as a PNG to 0.87% as a phone photo, and the 4 chat screenshots read with no errors as PNG. Dark mode raised the error on app screens from 0.41% to 3.87%. Simulated phone photos hurt most, above all chat screenshots at 21.03% and app screens at 12.87%. Across all 22 screenshots, run 3 came in at 0.65% as PNG, 1.77% in dark mode, and 9.74% as phone photos. In run 2 those three were 1.16%, 2.22%, and 10.12%.
Know the limits before you lean on these numbers. We generated the screenshots in Chromium with Linux fonts, they have no phone status bars, and the phone photos are simulated rather than taken with a camera. With 4 or 5 screenshots per kind, one bad read moves an average.
For Google Lens we ran the lossless PNG versions of the same 22 screenshots once, by hand. Those results are in the next section. The table below covers Screenshot2Text only, including the dark mode and phone photo versions, which we did not run through Lens.
| Kind of screenshot | PNG, run 3 | PNG, run 2 | Dark mode PNG, run 3 | Dark mode PNG, run 2 | Simulated phone photo, run 3 | Simulated phone photo, run 2 |
|---|---|---|---|---|---|---|
| App and settings screens (5) | 0.41% | 0.56% | 3.87% | 4.03% | 12.87% | 13.03% |
| Paragraph text (5) | 0.09% | 0.43% | 0.78% | 1.12% | 0.87% | 1.26% |
| Code and terminal (4) | 2.03% | 2.16% | 2.21% | 2.21% | 10.69% | 11.00% |
| Receipts, invoices, and price lists (4) | 0.92% | 1.15% | 0.59% | 0.59% | 4.68% | 5.15% |
| Chat conversations (4) | 0.00% | 1.84% | 1.12% | 2.96% | 21.03% | 21.66% |
| All 22 screenshots | 0.65% | 1.16% | 1.77% | 2.22% | 9.74% | 10.12% |
Head-to-head on the same 22 screenshots
On September 25, 2026, from 2:26 to 2:51 PM ET, we uploaded each of the 22 PNG screenshots to Google Lens once. We used the Search by image option on Google Search and its upload a file button, which opens Lens on google.com, in Chrome on a desktop Linux computer, signed out of Google. For each image we used Lens's Select text and Copy selected text, then pasted the result as it came, with no edits.
We scored the Lens text with the same code as our accuracy test: the same answer keys and the same cleanup before scoring, where every run of spaces and line breaks becomes one space and capital letters and punctuation still count. The Screenshot2Text numbers are run 2 for the same 22 PNG files. Every per-image score for both tools is in the head-to-head CSV.
Google Lens made fewer character errors than Screenshot2Text on this set. Its mean CER across the 22 screenshots was 0.25%, against 1.16% for Screenshot2Text. Mean WER was 0.96% against 4.72%, and mean word recall was 99.21% against 95.81%. Lens read 17 of the 22 screenshots with no errors at all. Screenshot2Text did that on 9.
Lens also made fewer character errors in every kind of screenshot we tested: chat, code, receipts and numbers, paragraphs, and app screens. Image by image, Lens did better on 13, both tools were perfect on 8, and Screenshot2Text did better on 1.
| Kind of screenshot | Screenshot2Text CER | Google Lens CER | Screenshot2Text word recall | Google Lens word recall |
|---|---|---|---|---|
| Chat conversations (4) | 1.84% | 0.00% | 97.54% | 100.00% |
| Code and terminal (4) | 2.16% | 0.61% | 90.65% | 96.90% |
| Receipts, invoices, and price lists (4) | 1.15% | 0.57% | 95.32% | 99.36% |
| Paragraph text (5) | 0.43% | 0.00% | 98.80% | 100.00% |
| App and settings screens (5) | 0.56% | 0.16% | 95.95% | 99.51% |
| All 22 screenshots | 1.16% | 0.25% | 95.81% | 99.21% |
Run 3 note: the same 22 screenshots after a second OCR update
Later on September 25, 2026, we updated the site's OCR a second time and reran the whole accuracy test as run 3. We did not run Lens again. The table below compares Screenshot2Text run 3 with the same Lens pass from the table above, on the same 22 PNG screenshots. The run 2 comparison above stays as it was. Run 3 per-image scores are in the run 3 CSV, and the Lens scores are in the head-to-head CSV.
On the same 22 screenshots, Screenshot2Text run 3 had a mean CER of 0.65%, against 0.25% for Lens. Mean WER was 3.57% against 0.96%, and mean word recall was 96.82% against 99.21%. Run 3 read 12 of the 22 screenshots with no errors, up from 9 in run 2. Lens did that on 17.
Chat was the one kind where the two tied: both read all 4 chat screenshots with no errors, a mean CER of 0.00%. In the other four kinds, Lens made fewer character errors than run 3. Image by image, Lens did better on 9, both tools were perfect on 11, and Screenshot2Text run 3 did better on 2, code02-python and ui01-settings.
Of the differences listed in the next section, run 3 fixed the receipt's order line, which it read as "Order #20483 09/21/2026", and kept the support chat's sender line "You 2:04 PM". In the terminal output it read the unit "kB" correctly where run 2 had "k8", but it still read "app@1.4.2" as "appRl.4.2", "108 kB" as "168 kB", and "1.02 kB 104 kB" as "1.82 kB 164 kB". The coffee price still came back as "$11.56".
| Kind of screenshot | Screenshot2Text run 3 CER | Google Lens CER | Screenshot2Text run 3 word recall | Google Lens word recall |
|---|---|---|---|---|
| Chat conversations (4) | 0.00% | 0.00% | 100.00% | 100.00% |
| Code and terminal (4) | 2.03% | 0.61% | 91.31% | 96.90% |
| Receipts, invoices, and price lists (4) | 0.92% | 0.57% | 96.60% | 99.36% |
| Paragraph text (5) | 0.09% | 0.00% | 99.24% | 100.00% |
| App and settings screens (5) | 0.41% | 0.16% | 96.44% | 99.51% |
| All 22 screenshots | 0.65% | 0.25% | 96.82% | 99.21% |
Where the outputs differed
Receipt (num01-receipt): Screenshot2Text read the order line as "Order #26483 09/21/2626" instead of "Order #20483 09/21/2026", and the coffee price as "$11.56" instead of "$11.50". Lens got every digit right but dropped the masked card digits, returning "VISA 4821" instead of "VISA **** 4821". Lens also put each price on its own line under its item. The scoring treats a line break like a space, so that layout did not count as an error.
Support chat (chat02-support): Screenshot2Text left out the sender line "You 2:04 PM" and kept everything else. Lens returned the whole conversation with no errors.
Terminal output (code03-terminal): Screenshot2Text read "app@1.4.2" as "appRl.4.2", "108 kB" as "168 kB", and "1.02 kB 104 kB" as "1.82 kB 164 k8". Lens made one error, an extra period after "page data".
The one image where Screenshot2Text did better was code02-python. It read the file with no errors, while Lens returned "def average (values):" with an extra space before the parenthesis.
Layout differed too. Lens joined the wrapped lines of each paragraph into one line, while Screenshot2Text kept the line breaks from the screenshot. Neither tool kept the indentation in the code screenshots. Our scoring ignores line breaks and indentation for both tools, so these layout differences did not change the numbers.
Limits of this comparison
This was one manual pass on one day. Lens runs on Google's servers and its web version can change at any time, so a pass on another day may give different text.
The Lens side covers the 22 clean PNG screenshots only. We did not run the dark mode, JPEG, WebP, or simulated phone photo versions through Lens, so there is no Lens number for those.
We used the Search by image upload on google.com, signed out. Lens in the Google app, in Google Photos, or signed in to a Google account may give different results.
The screenshots were generated in Chromium with Linux fonts and have no status bars. The set has no handwriting, no signs, and no photos of real scenes. Scoring ignores line breaks and indentation, which matters if you paste code or need the original line layout.
What Google's documentation says about Lens
On a computer, Google's Chrome help for Lens says to set Google as your default search engine first. Then you can right-click an image and choose Search with Google Lens, or use Search this tab with Google Lens to select part of a page.
The same page explains the data path. When you use Lens on webpage content in Chrome, a screenshot of the page and page data are sent to Google, and when you select part of the page, the selection is sent to Google Search. Google says it keeps that data only in temporary storage for processing the query and does not use it for training. Because the image goes to Google, plan on needing a network connection.
On Android, Google's Photos help for Lens says you can open Lens from Google Photos, Google Assistant, or the Google app on some phones. To copy text, you tap and select the words. Lens can translate text into all Google Translate languages. That page also says Lens activity can be saved to your Google Account under Web & App Activity, and that the Visual Search History setting, which saves the images themselves, is off by default.
| Feature | Google Lens | Screenshot2Text in a browser |
|---|---|---|
| Platform | Chrome on a computer with Google as the default search engine, plus Google Photos, Google Assistant, or the Google app on Android | A current browser on Windows, Mac, Linux, ChromeOS, or a phone |
| Where recognition runs | The image or selection is sent to Google, per Google | In your browser tab, with no image upload |
| Account | Activity can be saved to your Google Account if Web & App Activity is on | No account |
| Offline use | Needs a connection, since the image goes to Google | Needs a connection to load the page, engine, and language data the first time |
| Output | Select and copy text, translate, search, and other actions | An editable box, then copy or download .txt |
When Google Lens is the better fit
Use Lens when the source is a live camera view or a phone photo and you care about translation, object search, or shopping context, not only a plain text dump.
On our 22 clean screenshots, Lens made fewer character errors than Screenshot2Text run 2 in every kind we tested. Against run 3, Lens made fewer in four of the five kinds, and the two tied on chat at 0.00%. Our set has no handwriting or signs, so we cannot say how either tool reads those. If Lens already shows a clean selectable block, copy from there and proofread.
Stay with Lens when you are fine with Google's processing path for that image and you do not need a desktop PDF batch or an editable .txt download in a browser tab.
When in-browser OCR is the better default
Open Screenshot2Text when the capture is a work screenshot, a receipt, a chat export, or any image you do not want sent for cloud recognition. Drop or paste the file. Read it locally in the tab.
Desktop workflows also land here. A PNG already on your laptop, a multi-page scan, or a clipboard snip from Win+Shift+S / ⌘-shift capture fits the browser tool without bouncing through a phone Lens sheet.
Ads stay on the homepage chrome. They do not receive your image.
Privacy and data path in plain terms
Lens routes through Google's services as part of how that product works. That is the deal for translate speed and visual search.
Screenshot2Text keeps recognition in the browser tab for the OCR step. That is the deal for private screenshot text when upload converters feel wrong.
If your threat model says "this PNG never leaves the machine for OCR," pick the local-tab path. If your threat model says "I need Lens translate right now," pick Lens and accept that path.
Accuracy, languages, and output shape
On accuracy, Lens came out ahead in our test on September 25, 2026: 0.25% mean CER on the 22 PNG screenshots, against 1.16% for Screenshot2Text run 2 and 0.65% for run 3 on the same 22 images. In run 3, Screenshot2Text scored 1.77% in dark mode and 9.74% on simulated phone photos, against 2.22% and 10.12% in run 2, but we did not run those versions through Lens. Setting the language to match the screenshot and editing the plain text before you paste still matters with either tool.
Output differs too. Lens is optimized for mobile select-and-act. Screenshot2Text keeps an editable box and a .txt download aimed at tickets, notes, and desktop paste.
Neither path invents missing pixels. Blurry phone photos of a monitor, tiny footnotes, and neon themes still fail. Crop and contrast beat brand loyalty.
A simple decision rule
Camera, translate, shopping lookup: try Lens first.
Saved screenshot, private work UI, PDF page, desktop paste loop: open Screenshot2Text.
If Lens already gave you clean text, keep it. If accuracy on a clean screenshot matters most and the image can go to Google, Lens made fewer errors in our test. If you need on-device recognition for a sensitive capture, use the browser tool and the private OCR guide for the longer privacy walkthrough.