🌐 Company Site - Here
🤗 Hugging Face - Here
🛟 Help Center - Here
🐳 Docker Hub - Here
Ready in ~10 minutes (after AAR download): Drop
documentreadersdk.aarintolibdocsdk/→ Run on a phone Jump: Get the AAR · Run the demo · Setup (your own app) · About SDK
Explore FacePlugin Document Reader SDK — ID cards, passports, driver licenses with OCR, MRZ and barcode.
This is an on-premise FacePlugin SDK. All processing stays on the device — no biometric data is sent to FacePlugin cloud.
This repository is the Android demo app — a standalone customer repo. Runtime is libdocsdk/documentreadersdk.aar (download from Google Drive). No other FacePlugin repository is required.
| Feature | Supported |
|---|---|
| ID Card / Passport / Driver License | ✓ |
| MRZ / Barcode / QR / OCR | ✓ |
| Document detection & classification | ✓ |
| Auto-capture & image quality | ✓ |
| Platform | Repository |
|---|---|
| Android | ID-Document-Recognition-Android |
| iOS | ID-Document-Recognition-iOS |
| Windows | ID-Document-Recognition-Windows |
| Linux / Docker | ID-Document-Recognition |
| Step | What you need |
|---|---|
| 1 | Android Studio + a real device (emulator is not recommended) |
| 2 | documentreadersdk.aar in ./libdocsdk/ — see Get the AAR |
| 3 | Demo license is already in the repo (LICENSE_KEY for com.faceplugin.documentreader, valid until 12 August 2027). Request a new key only if you change applicationId — see SDK License |
You can run the sample app as-is. Camera and gallery unlock when the status bar shows Ready.
documentreadersdk.aar includes native libs for four ABIs. The sample app may filter to arm64-v8a only to keep the debug APK smaller — that is not an SDK limit.
| Item | Minimum | Recommended |
|---|---|---|
| Android | API 24 (7.0) | API 29 (10) or newer |
| ABI | arm64-v8a, armeabi-v7a, x86_64, x86 |
arm64-v8a (typical phones) |
| RAM | 4 GB | 6 GB or more |
| CPU | 4+ cores | Mid-range SoC from ~2019 or newer (e.g. Snapdragon 7-series / Dimensity 700+) |
| Camera | Rear camera | 1080p, autofocus |
| Device | Physical device | Same; emulator is not for camera |
libdocsdk/documentreadersdk.aar is empty on GitHub because the binary is too large.
DocumentReader-Android-App runtime (Google Drive)
- Clone this repo (if you have not already):
git clone https://github.com/Faceplugin-ltd/ID-Document-Recognition-Android.git
cd ID-Document-Recognition-Android- Download
documentreadersdk.aarfrom the Drive folder. - Put it here (not in a nested folder):
ID-Document-Recognition-Android/
└── libdocsdk/
└── documentreadersdk.aar
- Open this folder in Android Studio.
- Run on a device. The demo already has a valid
LICENSE_KEYforcom.faceplugin.documentreader.
The green bar at the bottom of the home screen is the SDK status (Checking license… → Loading database… → Ready). Camera and Gallery stay disabled until it shows Ready. Home tiles are one row under the title: Camera | Gallery | About. Camera shows the live overlay; tap Capture when the score is ready (≥ 50%).
Licenses are offline and bound to your app identifier.
The sample app already includes a valid key for com.faceplugin.documentreader (until 12 August 2027). You only need a new key if you use a different applicationId.
The code below shows how to use the license:
Please contact us to get the license.
You only need libdocsdk/ (the AAR) and com.faceplugin.documentreadersdk.DocumentReaderSDK. You do not need this demo’s MainActivity / CameraActivity.
- Copy the
libdocsdkfolder into your project root. - Put
documentreadersdk.aarinside it (from Drive). - Wire Gradle:
settings.gradle:
include ':app'
include ':libdocsdk'app/build.gradle:
android {
defaultConfig {
minSdk 24
ndk {
// AAR ships all four. Filter if you need a smaller APK (Play App Bundle splits ABIs anyway).
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64', 'x86'
}
}
}
dependencies {
implementation project(':libdocsdk')
}The license is bound to your applicationId. Request a key for that id, not the demo’s.
Call init and all process methods off the UI thread.
import com.faceplugin.documentreadersdk.DocumentReaderSDKCall init and process methods off the UI thread. 0 = SDK_SUCCESS. Process methods return JSON.
Thread {
var ret = DocumentReaderSDK.setActivation(context, "FP1.…")
if (ret == DocumentReaderSDK.SDK_SUCCESS) {
ret = DocumentReaderSDK.init(context)
}
}.start()val bitmap = contentResolver.openInputStream(uri).use { BitmapFactory.decodeStream(it) }
val json = DocumentReaderSDK.recognize(bitmap)val json = DocumentReaderSDK.recognize(frontBitmap, backBitmap) // backBitmap may be nullval json = DocumentReaderSDK.locateDocument(frameBitmap)
val obj = JSONObject(json)
val score = obj.optDouble("score", 0.0)
val corners = obj.optJSONObject("position")?.optJSONArray("corners")val json = DocumentReaderSDK.recognize(stillBitmap)val json = DocumentReaderSDK.documentAuthenticity(bitmap)DocumentReaderSDK.deinit(){
"errorCode": 0,
"documentName": "United States - California Driving License (2017) Real",
"ocr": { "dateOfBirth": "…" },
"mrz": { },
"barcode": { },
"images": [ { "name": "Portrait", "image": "<jpeg-base64>" } ]
}| Code | Constant | Status |
|---|---|---|
| 0 | SDK_SUCCESS |
Activate / init OK |
| 1 | SDK_LICENSE_INVALID |
Invalid license |
| 2 | SDK_LICENSE_EXPIRED |
Expired license |
| 3 | SDK_NOT_ACTIVATED |
Not activated |
| 4 | SDK_INIT_FAILED |
Init failed |
- Face Recognition with Liveness Detection-Android (Java, Kotlin)
- Face Recognition with Liveness Detection-iOS (Objective C, Swift)
- Face Recognition with Liveness Detection-Windows
- Face Recognition with Liveness Detection-React Native
- Face Recognition with Liveness Detection-Flutter
- Face Recognition with Liveness Detection-Ionic Cordova
- Face Recognition with Liveness Detection-.Net MAUI
- Face Recognition with Liveness Detection-.Net WPF
- Face Recognition with Liveness Detection-Javascript
- Face Recognition with LivenessDetection-React
- Face Recognition with LivenessDetection-Vue
- Face Liveness Detection-Android (Java, Kotlin)
- Face Liveness Detection-iOS (Objective C, Swift)
- Face Liveness Detection-Windows
- Face Liveness Detection-Linux
- Face Liveness Detection-Docker
- Open Source Face Recognition SDK
- Face Recognition SDK
- Liveness Detection SDK
- Palm Recognition SDK
- ID Document Recognition-Android (Java, Kotlin)
- ID Document Recognition-Windows
- ID Document Recognition
- ID Document Liveness Detection


