{"slug": "show-hn-ios-style-select-text-on-any-image-ocr-for-de-googled-android", "title": "Show HN: iOS-style \"select text on any image\" OCR for de-googled Android", "summary": "A developer released TextGrab, an open-source Android app that enables iOS-style text selection from any image on de-googled Android devices like GrapheneOS. The app uses Google's on-device ML Kit OCR model, runs entirely offline without internet permission, and supports multiple Latin-script languages. It is available under the MIT License.", "body_md": "Select and copy text from any image on de-googled Android (GrapheneOS, CalyxOS, LineageOS, ...). Works like iOS Live Text or the text selection on Pixel phones, but fully local and without Google Play services.\n\n**Main workflow, from anything on your screen to copied text in seconds:**\n\n- Take a screenshot (Power + Volume down)\n- Swipe down and tap the\n**OCR screenshot** tile - Tap or drag over the text, then copy\n\nOne-time setup: open quick settings, tap the edit (pencil) button and drag\nthe **OCR screenshot** tile into your tiles.\n\n**Second workflow, for existing images:**\n\nShare any image from any app (gallery, browser, messenger) to **TextGrab**\nand the text is selectable. Opening image files with TextGrab from a file\nmanager works too, as does picking an image from the app's home screen.\n\n| Tap a word | Long-press and drag | Full text view |\n|---|---|---|\n\nThe app bundles Google's ML Kit **on-device** text recognizer, the same class\nof neural model that powers Pixel Live Text. The model is packaged inside the\nAPK, so recognition:\n\n- runs entirely on the device. The app has\n**no internet permission**. - needs\n**no Google Play services** and works on GrapheneOS out of the box. - is fast: typically well under a second per screenshot on real hardware.\n\nAll Latin-script languages, including:\n\nEnglish, German, French, Spanish, Italian, Portuguese, Dutch, Polish, Czech, Danish, Swedish, Norwegian, Finnish, Hungarian, Romanian, Turkish, Croatian, Slovak, Slovenian, Estonian, Latvian, Lithuanian, Albanian, Catalan, Basque, Galician, Icelandic, Irish, Maltese, Swahili, Tagalog, Vietnamese (partial, some diacritics may be missed) and more, plus digits and common punctuation.\n\nChinese, Japanese, Korean and Devanagari need separate ML Kit model packs (roughly 20 MB each). They are not included yet but are easy to add. Open an issue if you want one of them.\n\n```\n./gradlew assembleRelease\n```\n\nOutput: `app/build/outputs/apk/release/app-release.apk`\n\n.\n\nTo build a signed release, create a keystore and put its credentials in\n`keystore/keystore.properties`\n\n(this directory is gitignored):\n\n```\nstoreFile=keystore/your-release.jks\nstorePassword=...\nkeyAlias=...\nkeyPassword=...\n```\n\nWithout that file the release build is unsigned. Keep your keystore safe: updates must be signed with the same key.\n\n`minSdk 26`\n\n(Android 8.0),`targetSdk 36`\n\n.- The APK is ~43 MB; ~30 MB of that is the bundled recognition model.\n- Photo permission is only requested for the \"latest screenshot\" feature. Images opened via share or the picker need no permission at all.\n\nThe app source code is licensed under the [MIT License](/notune/TextGrab/blob/main/LICENSE).\n\nThe bundled ML Kit text recognition SDK and its model are proprietary Google\nsoftware, used and redistributed under the\n[ML Kit Terms of Service](https://developers.google.com/ml-kit/terms). They\nare pulled from Google's Maven repository at build time and are not part of\nthis repository.", "url": "https://wpnews.pro/news/show-hn-ios-style-select-text-on-any-image-ocr-for-de-googled-android", "canonical_source": "https://github.com/notune/TextGrab", "published_at": "2026-07-07 10:06:22+00:00", "updated_at": "2026-07-07 10:30:55.468007+00:00", "lang": "en", "topics": ["computer-vision", "natural-language-processing", "ai-products", "ai-tools", "developer-tools"], "entities": ["TextGrab", "Google", "ML Kit", "GrapheneOS", "CalyxOS", "LineageOS", "Android", "MIT License"], "alternates": {"html": "https://wpnews.pro/news/show-hn-ios-style-select-text-on-any-image-ocr-for-de-googled-android", "markdown": "https://wpnews.pro/news/show-hn-ios-style-select-text-on-any-image-ocr-for-de-googled-android.md", "text": "https://wpnews.pro/news/show-hn-ios-style-select-text-on-any-image-ocr-for-de-googled-android.txt", "jsonld": "https://wpnews.pro/news/show-hn-ios-style-select-text-on-any-image-ocr-for-de-googled-android.jsonld"}}