How to read QR Codes in C#

Updated May 20, 2024

A C# QR code reader is important for many modern applications. It allows developers to integrate barcode and QR code (Quick Response Code) reading directly into their software. This functionality helps in the quick and accurate retrieval of data from products, documents, and digital screens. Industries like retail, logistics, healthcare, and event management benefit greatly from this capability. Using the QR code libraries like IronQR, developers can create applications that efficiently capture and scan QR code data.

Introduction of IronQR

How to read QR Codes in C#: Figure 1 - IronQR homepage

IronQR is a versatile library designed for .NET core developers to integrate reading and the capability of creating QR codes into their applications. A quick example would be incorporating a method that handles an object sender parameter that generates a QR code from a user interface within the application. QR codes have become widely used for storing and quickly accessing information. With IronQR, you can easily scan QR codes from a live video stream, images, camera feeds, and PDFs, making it a practical choice for various applications such as marketing, product tracking, and event management.

IronQR is user-friendly and provides a straightforward API that integrates seamlessly with your C# projects. Whether you're working on desktop, web, or mobile applications, IronQR ensures accurate and quick decoding of QR codes. The library's robustness and reliability make it an excellent tool for enhancing your application's functionality by enabling efficient QR code reading.

How to read QR Codes in C#

  1. Set up C# Console Project in Visual Studio.
  2. Install the C# QR code library in the C# Project.
  3. Import the required namespaces.
  4. Load the QR code into the program.
  5. Read the QR code using the C# QR code Library.
  6. Display the QR code value on the console.

Setting Up IronQR in Your C# Project

To start using IronQR in your C# project, you first need to install the IronQR library.

Using NuGet Package Manager

To install the IronQR library for generating and reading QR codes in your C# applications, follow these steps:

  1. Start by launching Visual Studio and opening the project where you want to add QR code functionality.
  2. Right-click your project in the Solution Explorer.
  3. Select "Manage NuGet Packages."
  4. Go to the "Browse" tab, type "IronQR" in the search box, and press Enter.
  5. Find the IronQR package in the search results and click "Install"​Here are the complete details of the installation of IronQR.

How to read QR Codes in C#: Figure 2 - Search for IronQR by clicking on "Manage NuGet Packages"

Alternatively, you can install IronQR using the Package Manager Console. In the console, type the following command and press Enter:

Install-Package IronQR

After installing IronQR, you need to add the following directive at the top of your C# file to reference the library:

using IronQR;
using IronQR;
VB   C#

With these steps, IronQR will be ready to use in your project. You can now start implementing QR code reading functionality in your applications.

Steps to Read QR Codes

Importing Required Namespaces

using IronQr;
using IronSoftware.Drawing;
using IronQr;
using IronSoftware.Drawing;
Imports IronQr
Imports IronSoftware.Drawing
VB   C#

To use the IronQR library effectively, you need to include the relevant namespaces at the beginning of your C# file. The IronQr namespace contains the core classes and methods required for QR code reading operations. The IronSoftware.Drawing namespace provides the AnyBitmap class, which is used for loading and manipulating image files. By importing these namespaces, you ensure that your code has access to all necessary functionalities provided by the IronQR library.

Loading the QR Code Image

var inputQR = AnyBitmap.FromFile(@"QR.png");
var inputQR = AnyBitmap.FromFile(@"QR.png");
Dim inputQR = AnyBitmap.FromFile("QR.png")
VB   C#

In this step, you load the QR code image from a specified file path. The AnyBitmap.FromFile method is used to read the image file located at the given path ("QR.png") and create an AnyBitmap object. This object represents the QR code image and will be used as input for the QR code reader. Make sure the file path is correct and the image is accessible to avoid any file not found errors.

Creating QR Code Image Input

QrImageInput imageInput = new QrImageInput(inputQR);
QrImageInput imageInput = new QrImageInput(inputQR);
Dim imageInput As New QrImageInput(inputQR)
VB   C#

After loading the QR code image into a AnyBitmap object, you need to create a QrImageInput object. This is done by passing the AnyBitmap object (inputQR) to the QrImageInput constructor. The QrImageInput class encapsulates the image data and prepares it for processing by the QR code reader. This step is crucial as it converts the raw image data into a format that the QR code reader can work with.

Initializing the QR Code Reader

QrReader reader = new QrReader();
QrReader reader = new QrReader();
Dim reader As New QrReader()
VB   C#

Next, you initialize a QrReader object. The QrReader class is responsible for decoding QR codes from the provided image input. By creating an instance of this class, you prepare the reader to perform the actual reading operation. This object will use the QrImageInput created in the previous step to read and decode the QR code.

Reading the QR Code

IEnumerable<QrResult> output = reader.Read(imageInput);
IEnumerable<QrResult> output = reader.Read(imageInput);
Dim output As IEnumerable(Of QrResult) = reader.Read(imageInput)
VB   C#

In this step, the Read method of the QrReader class is called with the QrImageInput object (imageInput) as a parameter. The Read method processes the image input and returns an IEnumerable<QrResult>, which contains the results of the QR code reading operation. Each QrResult object in the collection represents a decoded QR code found in the image. This method is efficient and can handle multiple QR codes in a single image.

Extracting and Displaying the QR Code Data

var qrValue = output.First().Value;
var qrValue = output.First().Value;
Dim qrValue = output.First().Value
VB   C#

Finally, you extract the value from the first QrResult object in the output collection. The First method is used to get the first result, and the Value property retrieves the decoded text from the QR code. This value is then printed to the console using Console.WriteLine. If the image contains multiple QR codes, you can iterate through the output collection to process each one individually.

How to read QR Codes in C#: Figure 3 - Extracted URL value from the QR code input from the code example above using IronQR

Real-World Use Cases

IronQR can be applied in various real-world scenarios where QR codes are used for quick and efficient data transfer. In retail, QR codes on product packaging can provide customers with detailed information about the product, including ingredients, usage instructions, and promotional offers. In logistics, QR codes can streamline the tracking and management of inventory.

Healthcare applications can use QR codes for patient identification and tracking medical records. Event management benefits from QR codes on tickets for quick check-ins and access control. Additionally, in education, QR codes can be used to distribute digital resources, link to online content, and engage students with interactive learning materials. To learn more about various QR code examples along with their source code, please visit the IronQR API documentation here.


How to read QR Codes in C#: Figure 4 - IronQR licensing page

IronQR is a powerful tool for integrating QR code reading capabilities into your C# applications. Its straightforward setup and easy-to-use API make it accessible for developers at all levels. By following the steps outlined, you can quickly get started with reading QR codes and leveraging the data they contain. Whether you are working on a small project or a large-scale application, IronQR offers the reliability and performance you need.

From retail and logistics to healthcare and education, the real-world applications of IronQR are vast and varied. By incorporating QR code functionality into your software, you can enhance user experience and streamline data handling processes. Explore the advanced features and customization options to fully utilize IronQR in your projects. You can try IronQR for free using its free trial. It's license starts from $599.

How to Scan QR Codes in C#
How to Create a QR Code Generator Application In C#

Ready to get started? Version: 2024.7 just released

Free NuGet Download Total downloads: 9,605 View Licenses >