The Scanbot SDK provides high-level APIs that let you integrate document scanning and data extraction into your mobile apps and websites. It runs on all common mobile devices entirely offline, without transmitting data to our or third-party servers.
With our Ready-To-Use UI components, you can integrate the Scanbot SDK into your React Native app in less than an hour.
💡 For more details about the Scanbot Document Scanner SDK and Data Capture Modules, please check out our documentation or see our example app.
For a detailed list of changes in each version, see the changelog.
Check out our documentation for a full overview of our SDK's requirements.
Install the Scanbot SDK module by running:
# Using Yarn
yarn add react-native-scanbot-sdk
# Using npm
npm install react-native-scanbot-sdk
# Using Expo
npx expo install react-native-scanbot-sdk
Expo projects require a development build. Configure the project using our config plugin by adding this to your app config file:
"plugins": [
[
"react-native-scanbot-sdk",
{
"iOSCameraUsageDescription": "Document & Barcode Scanning permission",
"largeHeap": true,
"mavenURLs": true,
"ocrBlobsDirPath": "./ocr_blobs"
}
]
],
Our SDK needs camera access to scan from a live camera stream.
Note: If you use Expo, you can configure the permissions using our config plugin, and skip this step.
Add these camera permissions to your android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
Add this camera permission description to ios/{projectName}/Info.plist inside the
<key>NSCameraUsageDescription</key>
<string>Camera permission is needed to scan documents</string>
Initialize the SDK before using any features, ideally when your app launches.
Add this import to the top of your file:
import ScanbotSDK from 'react-native-scanbot-sdk';
Initialize the SDK with:
ScanbotSDK
.initializeSDK({ licenseKey: "" })
.then(result => console.log(result))
.catch(err => console.log(err));
đź’ˇ You can test the SDK without a license key for 60 seconds per app session. Need longer testing? Get your free trial license key.
With our Ready-To-Use UI (RTU UI) components, you can start the document scanner screen with just a few lines of code:
// Example for launching the Scanbot Document Scanner SDK
import {
DocumentScanningFlow,
startDocumentScanner,
} from 'react-native-scanbot-sdk/ui_v2';
async function startScanning() {
try {
/** Create the default configuration instance */
const configuration = new DocumentScanningFlow();
/** Start the Document Scanner UI */
const documentResult = await startDocumentScanner(configuration);
/** Handle the document if the status is 'OK' */
if (documentResult.status === 'OK') {
}
} catch (e: any) {
console.error(e.message);
}
}
Note: This example demonstrates the minimal implementation. For more configuration options or to learn how to integrate our data capture modules, visit our full documentation.
The Scanbot React Native Document Scanner SDK includes these key features:
User guidance: Ease of use is crucial for large user bases. Our on-screen user guidance helps even non-tech-savvy users create perfect scans under any conditions, even in poor lighting conditions. This feature ensures that documents are properly framed and aligned before the scan is taken, ensuring the best quality of the captured image.
Automatic capture: The SDK automatically captures scans when the device camera is optimally positioned over the document, minimizing blurry or incomplete scans.
Automatic cropping: Our SDK applies perspective correction and crops scanned documents automatically, ensuring properly cropped images every time.
Custom image filters: Transform captured images to meet your specific requirements with custom filters, including several color, grayscale, and binarization options.
Document Quality Analyzer: Automatically rates scanned page quality from "very poor" to "excellent." If quality is low, it prompts users to rescan.
Export formats: Export digitized documents in several formats (JPG, PDF, TIFF, and PNG).
![]() |
![]() |
![]() |
---|
The Scanbot SDK Data Capture Modules allow you to extract data from structured documents and integrate OCR text recognition. These modules include:
Quickly extract data from machine-readable zones on identity documents. It captures all important MRZ data from IDs and passports and returns it as simple key-value pairs—faster and more accurate than manual data entry.
Extract data from international paper checks, capturing check numbers, routing numbers, and account numbers from MICR codes. This simplifies workflows and reduces errors that frustrate customers and employees.
Our Text Pattern Scanner allows quick and accurate extraction of single-line data. It captures information based on customizable patterns tailored to your specific use case. This replaces error-prone manual data entry with automatic capture.
The VIN scanner enables instant capture of vehicle identification numbers (VINs) from trucks or car doors. It uses OCR to convert the image of the VIN code into structured data for backend processing. This module integrates into mobile or web-based fleet management applications, enabling you to replace error-prone manual entry with fast, reliable data extraction.
Identify and crop various standardized document types, including German ID cards, passports, driver's licenses, residence permits, and the EHIC. It uses the Scanbot OCR engine for accurate data field recognition without needing additional OCR language files.
![]() |
![]() |
![]() |
---|
The Scanbot SDK runs for one minute per session without a license. After that, all features and UI components stop working.
To try the React Native Document Scanner SDK without the one-minute limit, you can request a free, no-strings-attached 7-day trial license.
Our pricing model is simple: Unlimited document scanning for a flat annual license fee, full support included. There are no tiers, usage charges, or extra fees. Contact our team for your quote.
Need help integrating our Document Scanner SDK in your React Native project? We offer free developer support via Slack, MS Teams, or email.
As a customer, you also get access to a dedicated support Slack or Microsoft Teams channel to talk directly to your Customer Success Manager and our engineers.
Want to enable document scanning in your app? You can integrate the Scanbot React Native Document Scanner plugin in just minutes.
đź’ˇ Check out our developer blog for a collection of in-depth tutorials, use cases, and best practices.