HandyXlateHandyXlate
Permissions & privacy

Screen Translator Apps Compared

Five Android screen translator apps, side by side: who asks for an Accessibility Service, where OCR runs, whether your screenshots or recognized text are uploaded, and which apps ship ads and tracking.

7 min read
Who maintains this page

This table is maintained by the developer of HandyXlate, so we are an interested party. We have tried to make that as easy as possible to account for. Every cell below is taken from the app's own public statements — its Google Play listing or its privacy policy — and we link where we found it. Where an app has not publicly stated something, the cell reads 'Not publicly stated'. We did not fill those gaps by guessing, and we did not score the apps.

Most lists of screen translator apps rank them. This one does not. Ranking would mean scoring translation quality, and we have no way to measure that objectively enough to put our own app at the top without it being a conflict of interest. Instead, this page compares the things every app has to disclose anyway: the permissions it asks for, and what it does with your screen and your text.

The reason this matters is that a screen translator sits in a sensitive position. To do its job it needs to see your screen, read the text on it, and put a translation back on top. How it gets that text — and where that text goes afterwards — differs a lot between apps, and it is rarely something the store page tells you up front.

The comparison

What five Android screen translator apps declare, as published by the apps themselves. Checked 16 October 2026.
AppAccessibility or listener serviceWhere OCR runsScreenshots and recognized textAds and tracking SDKs
HandyXlate (app.handyxlate.translate)Not declared, not used. Grabs a single screen frame with MediaProjection after you approve it.On-device (ML Kit)Screenshots: never uploaded. Recognized text: sent only if you select an online engine.No ads. Play Billing for the in-app purchase; no analytics SDK.
Gaminik (com.gaminik.i18n)Yes. Its Play listing names android.permission.BIND_ACCESSIBILITY_SERVICE.On-device by default; optional cloud or Windows-connected OCR.Screenshots: uploaded if you pick the cloud OCR engine. Recognized text: sent if you pick the online engine.No ads. Lists Google Analytics for Firebase, Firebase Crashlytics, and Facebook SDKs.
Instant Translate (com.spaceship.screen.textcopy)Yes. Its Play listing lists screen capture and accessibility as setup steps.On-device. Described as 'fast local text recognition'.Not publicly statedAds. Lists AdMob, Google Analytics for Firebase, Firebase Crashlytics, and Facebook.
Bubble Screen Translate (com.niven.translator)Notification Listener Service, per its privacy policy. Used for its chat translation feature.Not publicly statedScreenshots: never stored, saved, or transmitted. Recognized text: sent to third-party translation providers (Google, Bing, DeepL, or Yandex).Ads. Its privacy policy does not list third-party SDKs.
Offline Screen Translator (com.butterssoft.screentranslator)Not publicly statedOn-device (ML Kit, locally stored language resources)Screenshots and text: never transmitted to the developer.No ads, and states it uses no analytics or tracking.
  1. HandyXlate's row comes from our own app source and current Play listing. It is the row we can verify most precisely, which is also why we list our own weaknesses below.
  2. Gaminik: Google Play listing and privacy policy. The Accessibility statement is quoted from its Android Play description — its privacy policy mentions Accessibility only in the macOS section, not Android.
  3. Instant Translate: Google Play listing and privacy policy. Its privacy policy is a general template and does not describe where screen-capture data goes, which is why that cell is empty rather than reassuring.
  4. Bubble Screen Translate: privacy policy and Play listing. Its privacy policy identifies Google Translate, Bing Translator, DeepL, and Yandex Translator as translation providers for recognized text.
  5. Offline Screen Translator: privacy policy and Play listing. It states explicitly that screen captures, recognized text, and results are not transmitted.
'Not publicly stated' does not mean 'no'

It means we could not find a public statement saying either way. A blank cell is not an accusation. It is an absence of disclosure, and disclosure is the only thing we can honestly report about an app we do not build.

Accessibility and listener services

An Accessibility Service is an Android capability designed to let an app help a user with disabilities. It is powerful: an app holding it can read text from other apps, observe taps, and watch for content changes across the whole device. Android requires it to be enabled deliberately, through a settings screen, and it stays active until you turn it off.

Two of the apps in this table name it openly on their Play listings, which is more disclosure than most apps give. A third uses a different system service — Bubble's privacy policy describes a Notification Listener Service for its chat translation feature, which reads incoming notifications rather than the general UI. Whether that matters more or less to you is a judgement call, but at least it is written down.

There is a narrower mechanism available too. Android's MediaProjection API hands an app a single screen frame after a system dialog you approve, and the capture ends when you stop. The app never receives a persistent handle to your screen. The cost is that it receives an image rather than a view hierarchy, so it has to run OCR to read the text at all. HandyXlate uses that path and does not declare the AccessibilityService API.

It would be dishonest to present that as free. Reading a view hierarchy can be more precise for some apps and can pick up text that is rendered but not visible. OCR works from the pixels that are actually on screen, so it depends on legibility — very small, low-contrast, or heavily stylized text gives it less to work with.

Where OCR runs

Once an app has an image, something has to recognize the text in it. Where that happens is a separate question from where the translation happens, and the two are often conflated.

  • On-device OCR means the image is read on your phone. The screenshot does not need to leave the device for the text to be recognized.
  • Cloud OCR means the image is sent to a server to be read. This is usually more accurate on hard images — manga, stylized type, dense layouts — because the server can use bigger models.
  • Apps that offer both usually default to on-device and let you opt into cloud. Gaminik does exactly this, and names the trade-off in its own listing.
  • If an app supports both, the setting you have chosen matters more than the app's default. A screenshot that never leaves your device in one mode can leave it in another.

Bubble's privacy policy does not say where its text recognition runs, so that cell is blank rather than assumed.

What leaves your phone

This is the column where the differences are largest, and where the word 'screenshot' is most often misused. Keeping the image on your phone is not the same as keeping the text on your phone. A screenshot is a picture of whatever else was on your screen — messages, account numbers, notifications. Recognized text is just the words. They are very different amounts of information to hand to a server.

  • Never transmits the image: HandyXlate, Bubble, and Offline Screen Translator all state their screenshots do not reach a server.
  • May transmit the image if you opt in: Gaminik uploads it when you select its cloud OCR engine.
  • Not stated: we could not find a public statement from Instant Translate describing where screen-capture data goes.
  • Sends recognized text onward: several apps send the recognized text to a translation provider. Bubble names Google Translate, Bing Translator, DeepL, and Yandex Translator. Gaminik names Google as an example of its third-party translation providers.

So 'we do not upload your screenshots' and 'nothing about your screen leaves your phone' are two different promises, and plenty of apps make only the first one.

Ads, analytics, and tracking

Ad SDKs and analytics SDKs are separate from each other, and both are separate from ads actually being shown. An app can show no banner and still ship a crash reporter and an analytics SDK — those still run on your device, and they still carry identifiers.

Two apps in this table list Firebase Analytics, Crashlytics, and Facebook SDKs in their privacy policies while showing no ads. One lists AdMob alongside those. One shows ads and lists nothing in its policy. One states it uses no analytics or tracking at all. Ours is the fifth: no ads, and no analytics SDK — the only third-party code is Play Billing, which exists to process the in-app purchase.

Where HandyXlate is not the best option

A comparison written by an app developer has an obvious incentive to flatter that app, so here is the part that cuts the other way. Three things are true about HandyXlate and none of them are flattering.

  • If you select an online translation engine, HandyXlate sends the recognized text to our servers and on to a translation provider. The screenshot still never leaves your device, but 'nothing leaves your phone' would be false in that mode. Switch to on-device translation and every step stays local.
  • HandyXlate does not declare an Accessibility Service, which also means it cannot read text that is rendered but not visible on your screen. Accessibility-based apps can catch things this approach cannot.
  • If you add the in-app purchase, the merged manifest ends up declaring eight permissions, not the six the app ships with. Two of them come from Play Billing. We are not going to round that down to look tidier.

We also did not compare translation quality, speed, or language coverage in this table. Those are real differences between these apps. They are also the ones we have the least standing to judge, and a page that scored them would mostly be an advertisement.

How to check any app yourself

You do not have to trust a table like this one. Everything in it can be checked in about two minutes.

  • Open the app's Play Store page and read the description and the privacy policy section. Two apps in this table disclose their Accessibility use in the description itself — search the page for 'accessibility'.
  • On your phone, go to Settings, then Apps, then See all apps, then the app you want, then Permissions. That list is what the app actually requests, not what its marketing says.
  • For accessibility specifically, go to Settings, then Accessibility, then the installed-services list. Nothing should appear there unless you personally enabled it.
  • Open the privacy policy and search for 'screenshot', 'screen capture', 'transmit', and 'third party'. Apps that upload usually say so somewhere, even if not in the first paragraph.
  • If a cell in our table says 'Not publicly stated' and you find an answer, tell us and we will correct the row.

Questions people ask when comparing these apps

Which of these apps use an Accessibility Service?+

Gaminik and Instant Translate both say so on their own Play listings. Bubble's privacy policy describes a Notification Listener Service for chat translation, which is a different service. HandyXlate declares neither. For Offline Screen Translator we could not find a public statement either way.

Which ones never upload my screenshots?+

HandyXlate, Bubble, and Offline Screen Translator all state their screenshots do not reach a server. Gaminik uploads the image if you select its cloud OCR engine. For Instant Translate we could not find a public statement. Note that a screenshot staying local does not mean the recognized text does.

Does this page rank the apps?+

No, deliberately. It compares permissions and data handling only, because those are the dimensions an app developer can disclose honestly. Translation quality is a real difference between these apps and we left it out rather than score it from a position of interest.

Why does your own app appear in the table?+

Because a privacy comparison that leaves the sponsor out is not a comparison. The disclosure at the top is there so you can weigh everything on this page knowing who wrote it, and the section above lists our own disadvantages in plain terms.

How current is this?+

Every cell was checked on 16 October 2026 against the apps' published Play listings and privacy policies. Apps change their disclosures without notice. If something here no longer matches what an app says, that is our error, not the app's.

I am looking for an app that works fully offline. Which one?+

Offline Screen Translator and HandyXlate both state that screenshots and text stay on your device, and both run OCR on-device. What happens after the text is read depends on which translation engine you select in each app — check the setting rather than assuming from the name.

Android app

Try the app that made this table

HandyXlate captures a single frame with MediaProjection, reads it on-device, and places the translation back over your original screen. No Accessibility Service, no screenshot uploads, no ads.