ScanbotBarcodeSDK.MAUI 7.0.1

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package ScanbotBarcodeSDK.MAUI --version 7.0.1
                    
NuGet\Install-Package ScanbotBarcodeSDK.MAUI -Version 7.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ScanbotBarcodeSDK.MAUI" Version="7.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ScanbotBarcodeSDK.MAUI" Version="7.0.1" />
                    
Directory.Packages.props
<PackageReference Include="ScanbotBarcodeSDK.MAUI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ScanbotBarcodeSDK.MAUI --version 7.0.1
                    
#r "nuget: ScanbotBarcodeSDK.MAUI, 7.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=ScanbotBarcodeSDK.MAUI&version=7.0.1
                    
Install as a Cake Addin
#tool nuget:?package=ScanbotBarcodeSDK.MAUI&version=7.0.1
                    
Install as a Cake Tool

Scanbot MAUI Barcode Scanner SDK

Table of contents

About the Scanbot Barcode Scanner SDK

The Scanbot Barcode Scanner SDK provides intuitive APIs to integrate fast, reliable barcode scanning into Android and iOS apps.

It works entirely offline and scans barcodes in 0.04 seconds, even in challenging conditions like poor lighting or with damaged codes.

💡 For more details, check out our documentation or see our example app.

Supported barcode types

Our library supports all common 1D and 2D barcodes and multiple postal symbologies, including:

Barcode type 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 Code, Micro QR Code, Aztec Code, PDF417 Code, Data Matrix Code, GiroCode, PPN, UDI, Royal Mail Mailmark, MaxiCode
Postal Symbologies USPS Intelligent Mail Barcode (IMb), RM4SCC Barcode and Mailmark, 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.

Changelog

For a detailed list of changes in each version, see the changelog.

How to use the SDK

Installation

Requirements

Check out our documentation for a full overview of our SDK's requirements.

Install steps

Add the NuGet package by adding the following code to the *.csproj file in your project folder:

<ItemGroup>
        <PackageReference Condition="$(TargetFramework.Contains('ios'))" Include="ScanbotBarcodeSDK.MAUI" Version="7.0.0" />
        <PackageReference Condition="$(TargetFramework.Contains('android'))" Include="ScanbotBarcodeSDK.MAUI" Version="7.0.0" />
</ItemGroup>

Now, in your project folder, execute the dotnet restore command in the terminal to install the newly added NuGet package.

💡 See our full installation guide for complete details.

Camera permissions

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

Android

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" />

We added the uses-feature tag for better recognition in the Google Play Store (learn more). Our Ready-to-Use UI Components handle runtime permissions automatically.

iOS

Add the following properties to your Info.plist file inside the <dict> element:

<key>NSCameraUsageDescription</key>
<string>Please provide camera access to Scanbot SDK.</string>
SDK initialization

In MAUIProgram.cs, initialize the SDK by replacing the contents with the following code:

using Microsoft.Extensions.Logging;
using ScanbotSDK.MAUI;

// Replace test_maui with the namespace of your app.
namespace test_maui; 

public static class MauiProgram
{
    // Without a license key, the Scanbot Barcode SDK will work for 1 minute.
    public const string LicenseKey = "";

    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .ConfigureFonts(fonts =>
            {
                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
            });

#if DEBUG
        builder.Logging.AddDebug();
#endif

        SBSDKInitializer.Initialize(builder, LicenseKey, new SBSDKConfiguration
            {
                EnableLogging = true,
                ErrorHandler = (status, feature) =>
                {
                    Console.WriteLine($"License error: {status}, {feature}");
                }
            });

        return builder.Build();
    }
}

💡 You can test the SDK without a license key for 60 seconds per app session. Need longer testing? Get your free trial license key.

Barcode scanner setup

Scanning modes

In our ready-to-use UI, the Scanbot Barcode Scanner SDK offers the following scan modes right-out-of-the-box.

Single Scanning

This is the default barcode detection mode. It is optimized for detecting a single barcode at a time.

// Create the default configuration object.
var configuration = new BarcodeScannerScreenConfiguration();

// Initialize the single-scan use case.
var singleUsecase = new SingleScanningMode();

// Set the configured use case.
configuration.UseCase = singleUsecase;

var result = await ScanbotSDKMain.RTU.BarcodeScanner.LaunchAsync(configuration);

Single Scanning

Multi Scanning

The barcode scanner can also be configured to scan multiple barcodes in one go without closing the scanning screen. It can also count the scanned items.

// Create the default configuration object.
var config = new BarcodeScannerScreenConfiguration();

// Initialize the use case for multiple scanning.
var useCase = new MultipleScanningMode();

// Set the configured use case.
config.UseCase = useCase;

return config;

Multi Scanning

Find & Pick

Given one or more barcodes, the SDK visually highlights and scans the correct items for your users. It automatically selects the barcode with the right barcode value from your camera feed.

// Create the default configuration object.
var config = new BarcodeScannerScreenConfiguration();
            
// Initialize the use case for Find & Pick scanning.
var useCase = new FindAndPickScanningMode();

// Set the expected barcodes.
useCase.ExpectedBarcodes =
[
	new ExpectedBarcode(barcodeValue: "123456", title: "numeric barcode", image: "https://avatars.githubusercontent.com/u/1454920", count: 4),
	new ExpectedBarcode(barcodeValue: "SCANBOT", title: "value barcode", image: "https://avatars.githubusercontent.com/u/1454920", count: 4),
];

// Set the configured use case.
config.UseCase = useCase;

return config;

Find & Pick

Configuration options

The Scanbot .NET MAUI Barcode Scanner SDK offers numerous configuration options:

Barcode filters:

Apply filters by barcode type or content, with regex pattern support to capture only relevant barcodes.

AR overlay:

Optional feature providing real-time barcode highlighting, preview, and tap-to-select functionality. Recognized barcodes are highlighted with customizable frames and text.

Barcode parsers:

Extract structured information from 2D barcodes like QR and Data Matrix codes. These include parsers for documents such as driving licenses (AAMVA), boarding passes, medical certificates, SEPA forms, Swiss QR codes, and vCard business cards.

Scanning barcodes from an image:

Detect barcodes from still images in JPG or other formats, with support for single and multi-image detection.

UI customization

Customize the UI to match your app's look and feel. Please refer to our documentation for a full overview of the visual configuration options.

  • Configuring UI elements: Tailor interface elements with custom guidance text, enable or disable the Top Bar, or configure the Action Bar with features like Flashlight and Zoom buttons.

  • Palette: Configure your UI's color palette to match your brand design for a cohesive user experience.

  • Localization: Easily localize strings displayed on buttons, labels, and text fields.

// Example for configuring the Scanbot SDK's UI customization options

/**
 * Instantiate a configuration object of BarcodeScannerScreenConfiguration and
 * start the barcode scanner with the configuration
 */

var config = new BarcodeScannerScreenConfiguration();

// Adjusting the text for your user guidance
config.Localization.UserGuidance = "Please hold your camera over the barcode";

// Adjusting the text for your top bar
config.Localization.TopBarTitle = "Custom top bar title";

// Changing the color palette
config.Palette = new Palette()
{
	SbColorPrimary = new ColorValue("#C8193C"),
	SbColorNegative = new ColorValue("#FF3737"),
};

return config;

Additional information

Trial license

The Scanbot SDK 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 in your .NET Maui application without the one-minute limit, you can request a free, no-strings-attached 7-day trial license.

Our pricing model is simple: Unlimited barcode scanning for a flat annual license fee, full support included. There are no tiers, usage charges, or extra fees. Contact our team to receive your quote.

Free developer support

Need help integrating or testing our barcode scanning library in your MAUI 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.

Guides and tutorials

Do you want to enable your app to scan barcodes or QR codes? Integrating the Scanbot Barcode Scanner SDK into your .NET Maui app takes just a few minutes.

💡 Our .NET MAUI 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.

Product Compatible and additional computed target framework versions.
.NET net8.0-android34.0 is compatible.  net8.0-ios14.2 is compatible.  net9.0-android was computed.  net9.0-android34.0 is compatible.  net9.0-ios was computed.  net9.0-ios14.2 is compatible.  net10.0-android was computed.  net10.0-ios was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
7.0.2-beta.2 43 6/27/2025
7.0.2-beta.1 127 6/5/2025
7.0.1 176 6/3/2025
7.0.1-alpha.2 113 6/3/2025
7.0.1-alpha.1 119 6/2/2025
7.0.0 136 5/30/2025
6.1.1-beta.1 255 6/11/2025
6.1.0 1,573 2/14/2025
5.1.3-beta.1 741 12/6/2024
5.1.2-beta.1 458 11/26/2024
5.1.1 5,954 12/12/2024
5.1.1-rc.2 365 9/12/2024
5.1.1-rc.1 466 8/22/2024
5.1.0 3,920 8/7/2024
5.1.0-rc.7 235 7/25/2024
5.1.0-rc.6 238 7/24/2024
5.1.0-rc.5 220 7/22/2024
5.1.0-rc.4 183 7/19/2024
5.1.0-beta.2 191 7/2/2024
5.1.0-beta.1 437 5/6/2024
4.2.2-beta.6 147 7/18/2024
4.2.2-beta.5 137 7/18/2024
4.2.2-beta.4 239 6/7/2024
4.2.2-beta.3 319 6/5/2024
4.2.2-beta.2 185 5/8/2024
4.2.2-beta.1 468 4/15/2024
4.2.1 5,321 3/25/2024
4.2.1-beta.3 160 3/14/2024
4.2.1-beta.2 138 3/14/2024
4.2.1-beta.1 166 3/12/2024
4.2.0 432 3/6/2024
4.2.0-beta.8 158 3/1/2024
4.2.0-beta.7 206 3/1/2024
4.2.0-beta.6 267 2/20/2024
4.2.0-beta.5 164 2/14/2024
4.2.0-beta.4 165 2/12/2024
4.2.0-beta.3 124 2/8/2024
4.2.0-beta.2 155 2/7/2024
4.2.0-beta.1 116 2/7/2024
4.0.0 457 1/9/2024
3.7.0 315 10/5/2023
3.6.0 276 7/20/2023
3.6.0-beta.1 134 7/3/2023
3.6.0-alpha.1 126 6/30/2023
1.0.0-alpha.1 172 6/15/2023