# Scanbot Flutter Document Scanner SDK and Data Capture Modules

## Table of contents

* [About the Scanbot SDK](#about-the-scanbot-sdk)
* [How to use the SDK](#how-to-use-the-sdk)
  * [Requirements](#requirements)
  * [Install steps](#install-steps)
  * [Camera permissions](#camera-permissions)
  * [SDK initialization](#sdk-initialization)
  * [Implementing the document scanner](#implementing-the-document-scanner)
* [Overview of the Scanbot SDK](#overview-of-the-scanbot-sdk)
  * [Document Scanner SDK](#document-scanner-sdk)
  * [Data Capture Modules](#data-capture-modules)
    * [MRZ Scanner](#mrz-scanner)
    * [Check Scanner (MICR)](#check-scanner-micr)
    * [Text Pattern Scanner](#text-pattern-scanner)
    * [VIN Scanner](#vin-scanner)
    * [Document Data Extractor](#document-data-extractor)
* [Additional information](#additional-information)
  * [Trial license](#trial-license)
  * [Free developer support](#free-developer-support)
  * [Guides and tutorials](#guides-and-tutorials)

## About the Scanbot SDK

The Scanbot SDK provides high-level APIs that let you integrate high-quality 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 Flutter app in less than an hour.

💡 For more details about the Scanbot Document Scanner SDK and Data Capture Modules, please check out our [documentation](https://docs.scanbot.io/document-scanner-sdk/flutter/introduction/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites) or see our [example app](https://github.com/doo/scanbot-sdk-example-flutter).

### Changelog

For a detailed list of changes in each version, see the [changelog](https://docs.scanbot.io/document-scanner-sdk/flutter/changelog/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites).

## How to use the SDK

### Requirements

Check out our [documentation](https://docs.scanbot.io/document-scanner-sdk/flutter/introduction/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites#requirements) for a full overview of our SDK's requirements.

### Install steps

To add and install the Scanbot Document Scanner SDK package, use the following command in your terminal or through your IDE:

```bash
flutter pub add scanbot_sdk
```

### Camera permissions

Our SDK needs camera access to scan from a live camera stream.

##### Android

Add camera permission to your **android/app/src/main/AndroidManifest.xml**:

```xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
```

##### iOS

Add camera permission to **ios/{projectName}/Info.plist** inside the <dict> element:

```xml
<key>NSCameraUsageDescription</key>
<string>Camera permission is needed to perform scanning</string>
```

### SDK initialization

Initialize the SDK before using any features, ideally when your app launches.

Make sure to add the following import to the top of the file:

```dart
import 'package:scanbot_sdk/scanbot_sdk.dart';
```

To initialize the SDK, use the initScanbotSdk function:

```dart
var config = ScanbotSdkConfig(
 licenseKey: "<YOUR_SCANBOT_SDK_LICENSE_KEY>",
 loggingEnabled: true,
);

ScanbotSdk.initScanbotSdk(config);
```

💡 You can test the SDK without a license key for 60 seconds per app session. Need longer testing? Get your [free trial license key](https://scanbot.io/trial/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites).

### Implementing the document scanner

With our [Ready-To-Use UI (RTU UI)](https://docs.scanbot.io/document-scanner-sdk/flutter/features/document-scanner/ready-to-use-ui/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites) components, you can start the document scanner screen with just a few lines of code:

```dart
import 'package:scanbot_sdk/scanbot_sdk_ui_v2.dart';

void startScanning() async {

   // Create the default configuration object.
   var configuration = DocumentScanningFlow();
   var documentResult = await ScanbotSdkUiV2.startDocumentScanner(configuration);
  
   // Handle the document if the status is 'OK'
   if(documentResult.status == OperationStatus.OK) {
   }
}
```

> **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](https://docs.scanbot.io/document-scanner-sdk/flutter/introduction/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites).

## Overview of the Scanbot SDK

### Document Scanner SDK

The Scanbot Flutter 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).

| ![User guidance](https://scanbot.io/wp-content/uploads/2025/05/dev-pages-user-guidance.png) | ![Automatic capture](https://scanbot.io/wp-content/uploads/2025/05/dev-pages-auto-capture.png) | ![Automatic cropping](https://scanbot.io/wp-content/uploads/2025/05/dev-pages-auto-crop.png) |
|----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|

### Data Capture Modules

The Scanbot SDK Data Capture Modules allow you to extract data from structured documents and integrate OCR text recognition. These modules include:

#### [MRZ Scanner](https://docs.scanbot.io/document-scanner-sdk/flutter/features/mrz-scanner/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites)

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.

#### [Check Scanner (MICR)](https://docs.scanbot.io/document-scanner-sdk/flutter/features/check-scanner/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites)

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.

#### [Text Pattern Scanner](https://docs.scanbot.io/document-scanner-sdk/flutter/features/text-pattern-scanner/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites)

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.

#### [VIN Scanner](https://docs.scanbot.io/document-scanner-sdk/flutter/features/vin-scanner/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites)

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.

#### [Document Data Extractor](https://docs.scanbot.io/document-scanner-sdk/flutter/features/document-data-extractor/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites)

Identify and crop various standardized document types, including [German ID cards](https://scanbot.io/data-capture-software/id-scanner/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites), passports, [driver's licenses](https://scanbot.io/data-capture-software/german-drivers-license-scanner/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites), [residence permits](https://scanbot.io/data-capture-software/residence-permit-scanner/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites), and the [EHIC](https://scanbot.io/data-capture-software/ehic-scanner/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites). It uses the Scanbot OCR engine for accurate data field recognition without needing additional OCR language files.

| ![MRZ Scanner](https://scanbot.io/wp-content/uploads/2025/05/dev-pages-mrz-scanner.png) | ![VIN Scanner](https://scanbot.io/wp-content/uploads/2025/05/dev-pages-vin-scanner.png) | ![Check Scanner](https://scanbot.io/wp-content/uploads/2025/05/dev-pages-check-scanner.png) |
|------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|

## Additional information

### Trial license

The Scanbot SDK runs for one minute per session without a license. After that, all features and UI components stop working.

To try the Flutter Document Scanner SDK without the one-minute limit, you can request a free, no-strings-attached [7-day trial license](https://scanbot.io/trial/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites).

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](https://scanbot.io/contact-sales/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites) for your quote.

### Free developer support

Need help integrating our Document Scanner SDK in your Flutter project? We offer [free developer support](https://docs.scanbot.io/support/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites) 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.

### Guides and tutorials

Want to integrate document scanning features into your app? You can integrate the Scanbot Flutter Document Scanner plugin in just minutes.

💡 Check out our [developer blog](https://scanbot.io/techblog/?utm_source=pub.dev&utm_medium=referral&utm_campaign=dev_sites) for a collection of in-depth tutorials, use cases, and best practices.