Scanbot SDK has been acquired by Apryse! Learn more

Learn more
Skip to content

Android Barcode Scanner SDK

The Scanbot Android Barcode Scanner SDK adds fast and reliable 1D and 2D barcode scanning to your Android apps.

Trusted by 400+ global
industry leaders

Thalia Logo Logo United Airlines blue Volvo Customer Shiseido Customer Procter & Gamble Customer Generali Success Story Deutsche Telekom Case Study Deutsche Bahn Success Story AXA Success Story ArcBest Customer Thalia Logo Logo United Airlines blue Volvo Customer Shiseido Customer Procter & Gamble Customer Generali Success Story Deutsche Telekom Case Study Deutsche Bahn Success Story AXA Success Story ArcBest Customer
Real-time AR overlay feedback

Real-time AR feedback

Deliver real-time AR feedback while scanning barcodes, enhancing user interaction in your Android app. Visual cues guide users to faster and more accurate scanning.

Barcode scanning in challenging conditions

Barcode scanning in challenging conditions

The Android Barcode Scanner SDK is optimized for reliable performance even in challenging environments:

 

  • Damaged barcodes
  • Low-light environments
  • Tiny or distant barcodes

Customizable UI components

Our Ready-To-Use UI components cover all barcode scanning scenarios and are highly customizable. Learn more

Fast.
Very fast.
Every scan happens in 0.04s or less

Scans all major barcode types Code 39 Code 93 Code 32 Code 25 EAN-5 PDF417 GS1 DataBar Code 39 Code 93 Code 32 Code 25 EAN-5 PDF417 GS1 DataBar EAN-13 MSI Plessey EAN-2 Aztec Code rMQR Code Codabar UPC-A EAN-13 MSI Plessey EAN-2 Aztec Code rMQR Code Codabar UPC-A EAN-8 ISBN GiroCode GS1-128 Data Matrix IATA 2 of 5 EAN-8 ISBN GiroCode GS1-128 Data Matrix IATA 2 of 5 Code 128 Code 11 QR Code UPC-E Micro QR Code MaxiCode Code 128 Code 11 QR Code UPC-E Micro QR Code MaxiCode

Add a fast and reliable Android Barcode Scanner Library to your app

Integrate the Scanbot Barcode Scanner SDK seamlessly into your Android applications. Our SDK provides easy-to-use APIs for scanning and parsing both 1D and 2D barcodes using the device camera or from images, ensuring fast, accurate, and reliable barcode recognition in real-time.

The Scanbot Android Barcode Scanner SDK supports all major barcode formats, including QR codes, PDF417, EAN, and more. It’s ideal for use in supply chain management, field service operations, manufacturing processes, and asset tracking, where speed and precision are crucial to maintaining efficiency and reducing errors.

With our Ready-To-Use UI (RTU UI) components, you can quickly set up and customize the scanner’s interface to fit your app’s design and workflow – no extensive coding required. The SDK is designed to perform well in low-light environments and can handle damaged barcodes, making it reliable in challenging conditions. Additionally, the SDK supports image-based barcode scanning, enabling users to scan barcodes from uploaded images.

Need help? Reach out to our technical support team to guide you through the integration process and help you get the most out of the Scanbot Android Barcode Scanner SDK.

Technical requirements

The Scanbot Android Barcode Scanner SDK has the following technical requirements:

 

  • Operating System: Android 5.0 (API Level 21) and higher, HarmonyOS 2.0 and higher
  • Hardware: A rear-facing camera with autofocus
  • Supported Architectures: armeabi-v7a, arm64-v8a, x86, x86_64

Integrate this morning
with

Features

Discover common Android Barcode Scanning use cases

See how the scan modes of the Scanbot Android Barcode Scanner SDK can improve your workflows.

  • Single Scanning

    Single Scanning mode captures one barcode at a time. This mode is ideal for simple tasks such as re-ordering a product or looking up stock. An optional confirmation sheet lets users verify the scanned value before submitting.

  • Batch Scanning

  • Multi Scanning

  • Find & Pick

  • Scan & Count

Single scanning Batch scanning Multi Scanning Find and Pick Scan and Count

How to integrate the Scanbot Android Barcode Scanner using Ready-To-Use UI

To integrate the Scanbot Android Barcode Scanner SDK, add the SDK dependencies to your project, initialize the SDK with your license key, and launch a scanning mode via the Ready-To-Use UI.

 

Adding the RTU UI dependency

 

The RTU UI Components are distributed as a separate package rtu-ui-v2-barcode. Add it as a dependency to your project:

 

implementation("io.scanbot:rtu-ui-v2-barcode:$scanbotBarcodeSdkVersion")

 

Get the latest $scanbotBarcodeSdkVersion from the changelog.

 

Launching the RTU UI Barcode Scanner

 

With just a few lines of code, you can integrate barcode scanning into your application’s workflow. It is as easy as starting an Android activity.

 

import android.os.Bundle
import io.scanbot.example.sdk.barcode.R
import androidx.appcompat.widget.AppCompatButton
import androidx.appcompat.app.AppCompatActivity
import android.widget.Toast
import androidx.activity.result.ActivityResultLauncher
import io.scanbot.common.onFailure
import io.scanbot.common.onSuccess
import io.scanbot.common.Result
import io.scanbot.common.onCancellation
import io.scanbot.sdk.barcode_scanner.ScanbotBarcodeScannerSDKInitializer
import io.scanbot.sdk.ui_v2.barcode.BarcodeScannerActivity
import io.scanbot.sdk.ui_v2.barcode.configuration.BarcodeScannerScreenConfiguration

class StartRtuUiActivitySnippetActivity : AppCompatActivity() {

    // Adapt the 'onCreate' method in your Activity (for example, MainActivity.kt):
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.doc_snippet_activity_rtu_barcode_scanner_start)

        // Initialize the SDK here:
        ScanbotBarcodeScannerSDKInitializer()
            // optional: uncomment the next line if you have a license key
            // .license(this.application, LICENSE_KEY)
            .initialize(this.application)

        // The call to BarcodeScannerActivity.ResultContract() must be done after the SDK initialization
        val barcodeScreenLauncher: ActivityResultLauncher =
            registerForActivityResult(BarcodeScannerActivity.ResultContract()) { resultEntity ->
                resultEntity.onSuccess { result ->
                    // Barcode Scanner result callback:
                    // Get the first scanned barcode from the result object...
                    val barcodeItem = result.items.first()
                    // ... and process the result as needed, for example, display as a Toast:
                    Toast.makeText(
                        this@StartRtuUiActivitySnippetActivity,
                        "Scanned: ${barcodeItem?.barcode?.text} (${barcodeItem?.barcode?.format})",
                        Toast.LENGTH_LONG
                    ).show()
                }.onCancellation {
                    // Indicates that the cancel button was tapped. Or screen is closed by other reason.
                }.onFailure {
                    // Optional activity closing cause handling to understand the reason scanner result is not provided
                    when (it) {
                        is Result.InvalidLicenseError -> {
                            // indicate that the Scanbot SDK license is invalid
                        }

                        else -> {
                            // Handle other errors
                        }
                    }
                }
            }

        val config = BarcodeScannerScreenConfiguration().apply {
            // TODO: configure as needed
        }

        findViewById(R.id.start_barcode_rtu_button).setOnClickListener {
            // Launch the barcode scanner:
            barcodeScreenLauncher.launch(config)
        }
    }
}

 

Frequently Asked Questions

What platforms are supported besides Android?

In addition to Android, the Scanbot SDK supports a wide range of platforms, allowing developers to integrate barcode scanning capabilities into different application environments. Supported platforms include:

iOS
JavaScript (Web)
Flutter
React Native
Cordova
Capacitor / Ionic
Xamarin
.NET MAUI
UWP (Universal Windows Platform)
Linux

This extensive platform support ensures flexibility in deploying barcode scanning functionality across mobile, desktop, and web environments.

What are the key requirements for the Scanbot Android Barcode Scanner SDK?

The Scanbot Android Barcode Scanner SDK has the following technical requirements:

Operating System: Android 5.0 (API Level 21) or higher, including HarmonyOS 2.0 and above
Hardware: Requires a rear-facing camera with autofocus
Supported Architectures: The SDK supports armeabi-v7, arm64-v8a, x86, and x86_64 architectures

The SDK is optimized for offline operation, making it a powerful tool for industries where data privacy and offline functionality is crucial, such as healthcare, logistics, and retail.

Which barcode formats can be scanned using an Android barcode scanner SDK?

An Android barcode scanner SDK typically supports a wide range of barcode formats, including 1D barcodes like UPC, EAN, and Code 128, as well as 2D formats such as QR codes, PDF417, and DataMatrix. The Scanbot SDK can scan every common barcode symbology. Please find list of all supported barcodes here.

What is the Scanbot Android Barcode Scanner SDK?

The Scanbot Android Barcode Scanner SDK enables developers to integrate fast, accurate barcode scanning capabilities into Android applications. It supports both 1D and 2D barcode scanning and works in real-time or with pre-captured images. The SDK is optimized for use in retail, logistics, manufacturing, and field service applications.

How can I integrate an Android barcode scanner into my app?

To integrate an Android barcode scanner into your app, you typically add a barcode scanning SDK to your project, configure supported barcode formats, and initialize the scanner in your app's workflow. These SDKs usually support formats like QR codes, PDF417, and Code 128. If you want the fastest and most reliable solution, you need to choose the Scanbot SDK – trusted by over 250 enterprises worldwide.

Does the Scanbot Android Barcode Scanner SDK work offline?

Yes, the Scanbot Android Barcode Scanner SDK works completely offline, making it suitable for environments where internet connectivity is unreliable. The SDK processes barcode data directly on the device, ensuring secure and private data handling.

Can the Scanbot Android Barcode Scanner SDK handle low-light or damaged barcodes?

Yes, the Scanbot Android Barcode Scanner SDK is optimized to scan barcodes in challenging conditions, including low-light environments, damaged barcodes, and barcodes positioned at awkward angles. This ensures high accuracy and reliability in real-world use cases, such as in manufacturing and logistics environments.

How do I get a free trial of the Scanbot Android Barcode Scanner SDK?

You can request a free trial of the Scanbot Android Barcode Scanner SDK on our website. The trial allows you to test the SDK’s full range of features and evaluate how it fits into your application before getting touch with our sales team or purchasing a license.