This sample app demonstrates how to integrate the Scanbot Flutter barcode scanning library into your Flutter apps.
The Scanbot Barcode Scanner SDK is a simple and intuitive high-level Flutter plugin that allows you to integrate fast and reliable barcode scanning for both Android and iOS.
The SDK utilizes your device's camera, which can be freely switched. You can also apply various filters to narrow down the results by barcode type or content, with regex pattern support to ensure you only capture the specific barcodes relevant to your application.
It operates entirely offline on the user's mobile device and takes only 0.04 seconds per scan. Scans are accurate even under challenging conditions, including damaged, small, or distant barcodes and low-light backgrounds.
The SDK can be implemented into your Flutter project with just a few lines of code and comes with Ready-To-Use UI components.
💡 For more details about the Scanbot Flutter Barcode Scanner, please see our documentation or visit our pub dev page to download our Flutter packages.
- Latest Flutter SDK
- For Android apps: Android SDK (API Level 21+), platforms and developer tools
- For iOS apps: macOS with latest Xcode and command line tools
- Android 5.0 (API Level 21) and higher
- iOS 13 and higher
Install Flutter and all required dev tools.
Clone this repository and navigate to the project directory.
cd scanbot-barcode-scanner-sdk-example-flutter/
Fetch and install the dependencies of this example project via Flutter CLI:
flutter pub get
Connect a mobile device via USB and run the app.
Android:
flutter run -d <DEVICE_ID>
You can get the IDs of all connected devices with flutter devices
.
iOS:
Install Pods dependencies:
cd ios/
pod install --repo-update
Open the workspace(!) ios/Runner.xcworkspace
in Xcode and adjust the Signing / Developer Account settings. Then, build and run the app in Xcode.
The Scanbot Barcode Scanner SDK offers the following scan modes, which are available out of the box in our ready-to-use UI.
This is the Barcode Scanner SDK's default scanning mode. It is optimized for detecting a single barcode at a time and is easily configurable to your needs. You can show a confirmation screen after scanning the barcode.
The barcode scanner plugin can also be configured to scan multiple barcodes in succession (without closing the scanning interface every time), to capture multiple barcodes from the camera view at once, or to count the scanned items.
Given one or more barcodes, the SDK will visually highlight the barcode on the user's screen and scan the correct items for your users. It automatically selects the barcode with the right barcode value from your camera feed.
![]() |
![]() |
![]() |
---|
The Scanbot barcode scanning plugin includes an optional barcode Overlay for all scanning workflows. It provides real-time barcode highlighting, preview, and tap-to-select functionalities.
Recognized barcodes are highlighted with a customizable frame and text, clearly distinguishing scanned from unscanned items. This allows your users to select barcodes manually by tapping or instead rely on automatic selection.
The Scanbot SDK also offers barcode scanning support for still images, enabling barcode detection from JPG and other image files. It supports single-image and multi-image detection and returns a list with the recognized barcodes.
The Scanbot barcode scanner library supports all common 1D- and 2D barcodes, such as QR codes or Aztec Codes, as well as multiple postal symbologies, including:
Barcode type | Barcode symbologies |
---|---|
1D Barcodes | EAN, UPC, Code 128, GS1-128, Code 39, Codabar, ITF, Code 25, Code 32, Code 93, Code 11, MSI Plessey, Standard 2 of 5, IATA 2 of 5, Databar (RSS), GS1 Composite |
2D Barcodes | QR Codes, Micro QR Codes, Aztec Code, PDF417 Code, Data Matrix, GiroCode, GTIN Code, PPN Code, UDI Code, Royal Mail |
Postal Symbologies | USPS Intelligent Mail (IMb), Royal Mail RM4SCC Barcode, Australia Post 4-State Customer Code, Japan Post 4-State Customer Code, KIX |
💡 Please visit our docs for a complete overview of the supported barcode symbologies.
The Scanbot Barcode Scanner SDK supports a variety of data parsers that extract structured information from 2D barcodes such as QR Codes and Data Matrix. These include parsers for documents such as driving licences (AAMVA), boarding passes, medical certificates, SEPA forms, Swiss QR codes and vCard business cards.
💡 Please refer to our documentation for a full list of supported data parsers.
Do you want to build your app to scan QR codes? Integrating the Scanbot Flutter Barcode Scanner plugin into your mobile app takes just a few minutes.
💡 Our Flutter Barcode Scanner tutorial walks you through the integration process step by step. Follow along to implement a powerful QR code scanner feature quickly.
Alternatively, check out our developer blog for a collection of in-depth tutorials, use cases, and best practices.
Need help implementing or testing our Barcode Scanner SDK into your Flutter apps? 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.
The Scanbot Flutter Barcode Scanner will run for one minute per session without a license. After that, all functionalities and UI components will stop working.
To try the Barcode 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 mobile barcode scanning for a flat annual license fee, and full support is included. There are no tiers, usage charges, or extra fees. Contact our team to receive your quote.
Besides Flutter, the Scanbot Barcode Scanner SDK is also available on: