ZXing.Net.Maui.Controls 0.5.0-preview.2

This is a prerelease version of ZXing.Net.Maui.Controls.
dotnet add package ZXing.Net.Maui.Controls --version 0.5.0-preview.2
                    
NuGet\Install-Package ZXing.Net.Maui.Controls -Version 0.5.0-preview.2
                    
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="ZXing.Net.Maui.Controls" Version="0.5.0-preview.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ZXing.Net.Maui.Controls" Version="0.5.0-preview.2" />
                    
Directory.Packages.props
<PackageReference Include="ZXing.Net.Maui.Controls" />
                    
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 ZXing.Net.Maui.Controls --version 0.5.0-preview.2
                    
#r "nuget: ZXing.Net.Maui.Controls, 0.5.0-preview.2"
                    
#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.
#:package ZXing.Net.Maui.Controls@0.5.0-preview.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ZXing.Net.Maui.Controls&version=0.5.0-preview.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=ZXing.Net.Maui.Controls&version=0.5.0-preview.2&prerelease
                    
Install as a Cake Tool

ZXing.Net.MAUI

The successor to ZXing.Net.Mobile: barcode scanning and generation for .NET MAUI applications

<img src="https://user-images.githubusercontent.com/271950/129272315-b3f5a468-c585-49f2-bbab-68a884618b94.png" width="300" />

Barcode Scanning

Install ZXing.Net.MAUI

  1. Install ZXing.Net.Maui.Controls NuGet package on your .NET MAUI application

  2. Make sure to initialize the plugin first in your MauiProgram.cs, see below

    // Add the using to the top
    using ZXing.Net.Maui.Controls;
    
    // ... other code 
    
    public static MauiApp Create()
    {
    	var builder = MauiApp.CreateBuilder();
    
    	builder
    		.UseMauiApp<App>()
    		.UseBarcodeReader(); // Make sure to add this line
    
    	return builder.Build();
    }
    

Now we just need to add the right permissions to our app metadata. Find below how to do that for each platform.

Android

For Android go to your AndroidManifest.xml file (under the Platforms\Android folder) and add the following permissions inside of the manifest node:

<uses-permission android:name="android.permission.CAMERA" />
iOS

For iOS go to your info.plist file (under the Platforms\iOS folder) and add the following permissions inside of the dict node:

<key>NSCameraUsageDescription</key>
<string>This app uses barcode scanning to...</string>

Make sure that you enter a clear and valid reason for your app to access the camera. This description will be shown to the user.

Windows

Windows is not supported at this time for barcode scanning. You can however use the barcode generation. No extra permissions are required for that.

For more information on permissions, see the Microsoft Docs.

Using ZXing.Net.Maui

If you're using the controls from XAML, make sure to add the right XML namespace in the root of your file, e.g: xmlns:zxing="clr-namespace:ZXing.Net.Maui.Controls;assembly=ZXing.Net.MAUI.Controls"

<zxing:CameraBarcodeReaderView
  x:Name="cameraBarcodeReaderView"
  BarcodesDetected="BarcodesDetected" />

Configure Reader options

cameraBarcodeReaderView.Options = new BarcodeReaderOptions
{
  Formats = BarcodeFormats.OneDimensional,
  AutoRotate = true,
  Multiple = true
};

Toggle Torch

cameraBarcodeReaderView.IsTorchOn = !cameraBarcodeReaderView.IsTorchOn;

Flip between Rear/Front cameras

cameraBarcodeReaderView.CameraLocation
  = cameraBarcodeReaderView.CameraLocation == CameraLocation.Rear ? CameraLocation.Front : CameraLocation.Rear;

Handle detected barcode(s)

protected void BarcodesDetected(object sender, BarcodeDetectionEventArgs e)
{
  foreach (var barcode in e.Results)
    Console.WriteLine($"Barcodes: {barcode.Format} -> {barcode.Value}");
}

Barcode Generator View

<zxing:BarcodeGeneratorView
  HeightRequest="100"
  WidthRequest="100"
  ForegroundColor="DarkBlue"
  Value="https://dotnet.microsoft.com"
  Format="QrCode"
  Margin="3" />
Product Compatible and additional computed target framework versions.
.NET net9.0-android35.0 is compatible.  net9.0-ios18.0 is compatible.  net9.0-maccatalyst18.0 is compatible.  net9.0-windows10.0.19041 is compatible.  net10.0-android was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on ZXing.Net.Maui.Controls:

Package Downloads
ItEnterprise.Maui.Scanning

ItEnterprise scanning library for MAUI

PlutoFramework

All in one framework for creating web3 mobile applications.

GitHub repositories (4)

Showing the top 4 popular GitHub repositories that depend on ZXing.Net.Maui.Controls:

Repository Stars
simpleidserver/SimpleIdServer
OpenID, OAuth 2.0, SCIM2.0, UMA2.0, FAPI, CIBA & OPENBANKING Framework for ASP.NET Core
Esri/arcgis-maps-sdk-dotnet-toolkit
Toolkit for ArcGIS Maps SDK for .NET
Strypper/mauisland
MAUIsland 🏝️ is the number 1 controls gallery for .NET MAUI
dorisoy/Dorisoy.SIOT
一款利用.NET 8.0和MAUI框架打造的跨平台牙科治疗机物联网移动端应用,实现了对水温Speedometer监测、高速手机转速RadialGauge显示、电动马达功率检测以及光纤灯光亮度调节等功能的数据采集与仪表盘实时展示,同时支持数据可视化检测和远程操控管理。
Version Downloads Last Updated
0.5.0-preview.2 286 8/28/2025
0.5.0-preview.1 181 8/27/2025
0.4.0 757,112 10/24/2023
0.3.0-preview.1 82,194 11/10/2022
0.2.0-preview.2 22,705 10/21/2022