OCR icon

OCR

by Shubham · Apache-2.0 · open source

Free · Android 6.0+ · Productivity

Pick an image or share one into the app, download the language data you need once, and run Tesseract recognition on the phone. The APK does not include the models.

Needs:Android 6.0+ · internet once for each language model

No known trackers in the code Signer matches F-Droid’s record

2113 Apps is independent, not affiliated with or endorsed by Shubham. Official sources: source code on GitHub.

Download APK · 35.0 MB v6.1 · checked
Version
6.1
Size
35.0 MB
Requires
Android 6.0+
Updated
2026-08-10

Screenshots

OCR screenshot 1OCR screenshot 2OCR screenshot 3OCR screenshot 4OCR screenshot 5OCR screenshot 6

Introduction

OCR is an Android front end for Tesseract 5. It extracts text from an image chosen from the crop screen, captured with the system camera, or shared from another app, and keeps a local history. The history screen itself has no text search. The project lists more than 120 recognition languages.

Version 6.1 rebuilt the interface in Jetpack Compose and added a Room-based history, an accuracy display, summary cards and language filtering. Sharing an image into the app already existed before this release. Version 6.1 also raises the minimum to Android 6.0.

Models are downloaded separately

The 35.0 MB installer contains the OCR engine and native libraries for four CPU types, but it does not contain English or any other Tesseract language model. No language starts selected. Most choices download .traineddata files over HTTPS from the official tesseract-ocr/tessdata_best repository on GitHub. Akkadian instead comes from tessdata_contrib, while the equation model uses the older tessdata 3.04.00 file.

After a model is present, recognition runs locally through Tesseract4Android. The crop interface can open the gallery or launch the phone’s system camera app, so OCR itself does not request camera permission. Android’s share sheet is a third input route. The app’s manifest asks only for internet, network-state and an internal AndroidX receiver permission. Our static scan found no known tracker SDKs.

The downloader does not compare the file with a hard-coded checksum in version 6.1. HTTPS protects the transfer in transit, but there is no second model-hash check in this app. An interrupted download can leave a partial file that the app later treats as an installed model. Reinstalling or adding another language requires network access again.

History keeps an image copy

There is an important storage detail that is not obvious from the feature list. Our static review of the fixed 6.1 source shows that OCR results—including failed recognitions—are saved in Room and retain a PNG in the app’s private files directory. Cropping also leaves a JPEG in cache, and a photo taken through the system camera can add a temporary PNG. The code that deletes one history record removes the database row, but we found no corresponding deletion of these image files.

That means deleting an entry appears to remove it from the visible history while leaving private image copies in app storage until cached files are reclaimed or the app’s data is cleared or uninstalled. This is a source-code finding, not a result from observing storage on a real phone. For sensitive scans, clear the app’s storage after exporting any text you need.

The manifest also allows Android backup. Whether private app data is copied depends on the device, Android version and backup settings.

Recognition limits

OCR quality depends on the language model, print quality, orientation, lighting and layout. The app shows an accuracy value, but it is not a guarantee that names, amounts or serial numbers are correct. Review important text against the image. Upstream also mentions mathematical-equation detection as not yet tested, so this page does not present it as a dependable feature.

About this file

  • Version 6.1, build 61, is 35.0 MB and needs Android 6.0 or later. It includes native libraries for 32- and 64-bit ARM and x86 devices.
  • Its SHA-256 is 8fe496fbd91ad57bba697027f86f942d217687f98df63a20d3f3be8ff5aba79c, matching F-Droid’s signed index. F-Droid signs this build.
  • The app is Apache-2.0 licensed. The separately downloaded language files come from the Tesseract project.

What’s inside the APK

Trackers

None found

No code matching the Exodus Privacy tracker signatures.

Native code

4 CPU types

Runs on 64-bit and older 32-bit ARM phones.

Android versions

Android 6.0 and up

Built for Android 17 (target API 37).

Permissions

3

0 of them need your approval first.

CPU types in this build: arm64-v8a (64-bit ARM, almost every phone since 2017); armeabi-v7a (32-bit ARM, older and budget phones); x86 (32-bit Intel, emulators); x86_64 (64-bit Intel, emulators and Chromebooks).

Granted at install (2)

Low-risk permissions Android grants automatically, plus any we have not classified.

  • ACCESS_NETWORK_STATE
  • INTERNET
Defined by other apps (1)

Permissions that belong to another app or to this app itself.

  • io.github.subhamtyagi.ocr.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

More Information

Package name
io.github.subhamtyagi.ocr
Version
6.1 (build 61)
File size
35.0 MB (34,954,598 bytes)
Requires
Android 6.0 or later
Category
Productivity
License
Apache-2.0
Developer
Shubham
Released
Aug 10, 2026
Signed by
F-Droid, which built this APK from the published source code. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub (or the other way round) without uninstalling first.
Signer SHA-256
d9fffd0d32f4055d1088fe300cae79fc27c48ba05985e3d315a332232e87a51c
File SHA-256
8fe496fbd91ad57bba697027f86f942d217687f98df63a20d3f3be8ff5aba79c
Checked
, against the F-Droid index · how we check · verify it yourself

Common questions

Is this APK the official OCR release?

It is F-Droid’s build rather than the developer’s own: F-Droid compiled OCR 6.1 from the published source code and signed it with its own key. Its SHA-256 matches F-Droid’s signed index. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub without uninstalling first.

What Android version does OCR need?

Android 6.0 or later (API level 23). Version 6.1 is built for Android 17 (target API 37). Runs on 64-bit and older 32-bit ARM phones.

Can OCR access the internet?

Yes. The APK requests Android’s internet permission. In total it declares 3 permissions, and none of them needs your approval first.

Does OCR contain trackers?

No known trackers: our scan of version 6.1 found no code matching the Exodus Privacy tracker signatures. The scan covers known tracker libraries; it doesn’t show what data the app itself sends.

Is OCR open source?

Yes. OCR is released under the Apache-2.0 licence, and its source code is published at https://github.com/SubhamTyagi/android-ocr.

Does OCR send images to an online recognition service?

The 6.1 source downloads Tesseract trained-data files from the official tessdata_best repository. Once a selected model is present, recognition runs in the app with Tesseract4Android; we found no image-upload service in that fixed path.

Is English included in the APK?

No. The APK contains the OCR engine but no language model is selected or bundled. Choose and download English or another supported model before the first recognition.

Recent releases

Version Released Size Requires
v6.1 · this download Aug 10, 2026 35.0 MB Android 6.0+
v5.2 Mar 8, 2025 15.6 MB Android 5.0+
v5.1 Sep 22, 2024 15.5 MB Android 4.3+

Versions currently kept in the F-Droid repository. We host and check only the newest one. Full changelog.

Alternatives and related apps

  • ImageToolbox Media·107.8 MB·v4.2.0-foss A broader image editor with cropping, format conversion and many processing tools rather than OCR-first history.
    Download