Windows SDK

Windows Barcode Scanner SDK for Desktop, Kiosk and POS Apps

Add offline barcode and MRZ scanning to Windows desktop, kiosk, POS and industrial applications. The barKoder barcode reader SDK for Windows has a native C interface with C++ and .NET integrations, and decodes images and raw pixel buffers from webcams, document scanners and video frames.

Windows logo for the barKoder barcode scanner SDK for Windows

Four ways to add barcode scanning to a Windows app

Pick the barKoder SDK that matches how your Windows application is built. All four use the same decoding engine and decode on the machine, without sending images to a remote service.

Native Windows SDK

C and C++ · desktop, kiosk, POS and embedded

  • What you get: a native C interface for full control of decoding, usable from C, C++ or a .NET-based wrapper.
  • Package: .dll libraries, headers and code samples. Works with Visual Studio and other native toolchains.
  • Requires: Windows 10, Windows 11 or Windows Embedded/IoT, on x86 or x64.
Register to download the Windows SDK →

C# Barcode Scanner SDK

.NET 6.0+ · desktop, back-office and server apps

  • What you get: the BarkoderNET API, with System.Drawing and OpenCV (through Emgu CV) compatibility.
  • Package: a BarkoderSDK NuGet package (.nupkg) installed from a local NuGet repository.
  • Requires: .NET 6.0 or newer on Windows 10 or newer, or Windows Server 2019+. Build for x64 or ARM64, or also x86 with the Lite package (no MRZ); AnyCPU isn't supported.
C# SDK installation guide →

.NET MAUI Barcode Scanner SDK

C# and XAML · one app for Windows, Android and iOS

  • What you get: a camera scanning view for .NET MAUI apps, including the Windows target.
  • Package: Plugin.Maui.Barkoder on NuGet, with native Windows libraries for x64 and ARM64.
  • Choose it when: the same app also ships to Android and iOS.
See the .NET MAUI plugin →

Web Barcode Scanner SDK

JavaScript and WebAssembly · browser on the desktop

  • What you get: camera scanning inside a web page, with nothing to install on the PC.
  • Package: barkoder-wasm on npm, or barkoder-umd.js and barkoder.wasm loaded with a script tag.
  • Requires: HTTPS and a desktop browser such as Chrome 67+, Edge 79+ or Firefox 69+.
Web SDK installation guide →

Writing Python? The barkoder-python-sdk README on GitHub also covers Windows 10 and 11. See the Python Barcode Scanner SDK.

A barcode reader SDK for Windows desktop software

The native SDK doesn't own the camera. Your application captures the image from any source, hands it to barKoder and receives the decoded results, so it fits existing desktop, kiosk and POS software without changing how you capture images.

  1. Capture Grab a frame from a webcam, a document scanner or a video stream, or open an image file.
  2. Pass the pixels Send the image or a raw pixel buffer to the native C interface.
  3. Decode offline barKoder finds and decodes the 1D and 2D barcodes, or the MRZ on a passport or ID document.
  4. Use the result Fill a form, look up a price, record a check-in or route the data to your back end.

What it reads

  • QR Code, Code 128, Data Matrix, PDF417, GS1 DataBar and the other major 1D and 2D barcode types.
  • Machine Readable Zones on passports and ID documents, through MRZ OCR.
  • Low-contrast, blurred and damaged barcodes.

How you tune it

  • Enable only the barcode types your workflow uses.
  • Adjust decoding parameters for each workflow, from retail and logistics to healthcare and border control.
  • Set shared decoder options, such as GS1 output formatting, through the custom options of the native decoder library.
Get the Windows SDK

Decode barcodes in a C# Windows application

The C# SDK follows the same pattern in a .NET console app: install the NuGet package, initialize with your license key, configure the decoder and pass the image file name as the only command-line argument.

From the C# installation guide

C#
                                    using BarkoderNET;
                                    using System.Drawing;
                                    using System.Drawing.Imaging;
                                    Config.InitializeWithLicenseKey("YourLicenseKeyHere");
                                    config.SetEnabledDecoders(new List<DecoderType> { DecoderType.IDDocument });
                                  

The last line enables MRZ decoding. It needs a license key with MRZ enabled. The System.Drawing imports are for the sample code that converts a Bitmap to the grayscale array the decoder expects.

Before you build

  • Place BarkoderSDK.(VERSION).nupkg in your local NuGet repository and install it into the project.
  • Create a separate target per architecture: x64 and ARM64, plus x86 if you use BarkoderSDK.Lite. The SDK is platform-specific and can't be built for AnyCPU.
  • Review the sample_charp demo application for common usage patterns.
  • Make sure your license key covers every feature you use, MRZ included.
Open the C# installation guide

Desktop, kiosk and POS barcode scanning

Where Windows teams put the barKoder SDK to work.

Decoding features that come with the Windows SDK

The Windows SDK uses the same decoding engine as barKoder's mobile and web SDKs.

Damaged and deformed codes

Teams that replaced slower or less reliable scanning

A kiosk operator, a logistics software vendor that moved off ZXing.NET, and a parcel locker company that scans on laptops in the browser.

Scan on Windows and every other platform

The barKoder decoder in the Windows SDK also ships as native, web and cross-platform SDKs, so desktop, mobile and browser scanning behave the same way.

  • 7 native & desktop SDKs
  • 6 cross-platform integrations
  • One consistent scanning core

Try barKoder on your phone or in your browser

Install the free barKoder demo app, or open the web demo, and scan your own barcodes before you integrate the SDK.

iPhone and iPad

barKoder demo app for iOS

Scan with your camera, or point it at the QR code to open the App Store.

Download on the App Store
QR code linking to the barKoder demo app on the App Store

Android phones and tablets

barKoder demo app for Android

Scan with your camera, or point it at the QR code to open Google Play.

Get it on Google Play
QR code linking to the barKoder demo app on Google Play

Any modern browser

barKoder web demo

Runs the Web SDK in your browser, on desktop or mobile, with nothing to install.

Open the web demo
QR code linking to the barKoder web demo

Test with known samples. Print or display the testing sheet and scan each 1D and 2D barcode with the demo app. The data sheet summarizes the SDK for your team.

Windows barcode scanner SDK questions

Which Windows versions and architectures does the SDK support?

The native Windows SDK supports Windows 10, Windows 11 and Windows Embedded/IoT on x86 and x64. The C# Barcode Scanner SDK needs .NET 6.0 or newer on Windows 10 or newer, or Windows Server 2019+, built for x64 or ARM64, or for x86 with the Lite package, which has no MRZ.

Is there a C++ barcode detection library for Windows?

Yes. The native Windows SDK has a C interface you can call from C or C++. The download includes the .dll libraries, headers and code samples, and it works with Visual Studio and other native toolchains. Register on the Developer Portal to get it.

Can I use the barcode reader SDK from C# or .NET?

Yes. For desktop, back-office and server apps, install the BarkoderSDK NuGet package and follow the C# SDK installation guide. For an app that also ships to Android and iOS, use the .NET MAUI Barcode Scanner SDK, which includes a Windows target.

Can a Windows desktop app scan barcodes with a webcam?

Yes. The native SDK works with any camera or image source, including webcams, document scanners and video frames: your app captures the frame and passes it to the decoder. The .NET MAUI plugin scans with the camera on Windows, and the Web Barcode Scanner SDK uses the webcam inside a desktop browser.

Does the Windows SDK read MRZ on passports and ID cards?

Yes. The Windows SDK decodes Machine Readable Zones with MRZ OCR, offline. In the C# SDK, enable the IDDocument decoder and use a license key with MRZ enabled. See the MRZ Scanner SDK for the supported document formats.

Does scanning work offline?

Yes. The SDK checks the license key with the barKoder licensing server when it initializes. Decoding runs locally, and each machine must reach the licensing server at least once every 30 days. The SDK doesn't store personal information retrieved from scanning a barcode.

Is there free barcode reader software for Windows 10?

To read a few barcodes without writing code, open the free online barcode scanner in your browser and upload an image. To add scanning to your own Windows software, start a free 30-day SDK trial.

How is a Windows desktop or server deployment licensed?

A trial license runs for 30 days on up to 25 devices with unlimited scans. Desktop, server, white-label and redistribution projects are licensed on custom terms, so request a quote and describe your deployment. See SDK pricing for the standard plans.

Test barKoder in your Windows application

Get a free 30-day trial key and decode your own images on Windows, or talk to an SDK expert about desktop, kiosk and server licensing.