# Getting Started with IronQR
## IronQR is the QR Code Reading and Writing Library for .NET
**IronQR** is Iron Software's QR Code reading and writing library. In addition to highly customizable QR Generation, it uses an advanced Machine Learning Model with Mobile, Desktop, and Cloud compatibility to detect QR Codes for reading.
<div class="hsg-featured-snippet">
<h2>C# QR Code Generator Reading Library</h2>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://www.nuget.org/packages/IronQR/">Read and Generate QR Codes in C# .NET Projects</a></li>
<li>Create QR Code Generator for Mobile iOS and Android</li>
<li>Read QR Code Reader for Mobile iOS and Android</li>
<li>Generate QR Codes Library and in Xamarin</li>
<li>Use Machine Learning to read QR Codes</li>
</ol>
</div>
### Compatibility
**IronQR** has cross-platform support compatibility with:
#### .NET Version Support:
- **C#**, **VB.NET**, **F#**
- **.NET 7, 6**, 5, and Core 3.1+
- .NET Standard (2.0+)
- .NET Framework (4.6.2+)
#### Operating Systems and Environments Support:
- **Windows** (10+, Server 2016+)
- **Linux** (Ubuntu, Debian, CentOS, etc.)
- **macOS** (10+)
- **iOS** (12+)
- **Android** API 21+ (v5 "Lollipop")
- **Docker** (Windows, Linux, Azure)
- **Azure** (VPS, WebApp, Function)
- **AWS** (EC2, Lambda)
#### .NET Project Types Support:
- **Web** (Blazor & WebForms)
- **Mobile** (Xamarin & MAUI)
- **Desktop** (WPF & MAUI)
- **Console** (App & Library)
## Installation
### IronQR Library
Installing the IronQR library is quick and easy. You can install the package using the following command:
```shell
:ProductInstall
```
Alternatively, download directly from the [official IronQR NuGet website](https://www.nuget.org/packages/IronQR).
Once installed, you can get started by adding `using IronQR;` to the top of your C# code.
### IronQR.Slim Library
The `IronQR.Slim` contains both QR Generation and basic QR Reading capabilities. The `IronQR` package provides advanced custom Machine Learning Models and adapters to use it with `IronQR.Slim`. If you prefer to use IronQR **without** the increased package size and improved accuracy of the ML model, you **can also use IronQR.Slim alone**.
This choice will not affect generating/writing QR Codes, but note that reading will not utilize the advanced detection model. You can use the following command to install just the basic Slim version:
```shell
:InstallCmd Install-Package IronQR.Slim
```
## Code Examples
### Generate QR Code Example
```csharp
:path=/static-assets/qr/content-code-examples/get-started/get-started-1.cs
```
### Read QR Code Example
```csharp
:path=/static-assets/qr/content-code-examples/get-started/get-started-2.cs
```
## Support Available
### Information
For more information about Iron Software please visit our website: [https://ironsoftware.com/](https://ironsoftware.com/)
### Support from Iron Software
For general support and technical inquiries, please email us at: [support@ironsoftware.com](mailto:support@ironsoftware.com)
IronQR is the QR Code Reading and Writing Library for .NET
IronQR is Iron Software's QR Code reading and writing library. In addition to highly customizable QR Generation, it uses an advanced Machine Learning Model with Mobile, Desktop, and Cloud compatibility to detect QR Codes for reading.
Once installed, you can get started by adding using IronQR; to the top of your C# code.
IronQR.Slim Library
The IronQR.Slim contains both QR Generation and basic QR Reading capabilities. The IronQR package provides advanced custom Machine Learning Models and adapters to use it with IronQR.Slim. If you prefer to use IronQR without the increased package size and improved accuracy of the ML model, you can also use IronQR.Slim alone.
This choice will not affect generating/writing QR Codes, but note that reading will not utilize the advanced detection model. You can use the following command to install just the basic Slim version:
PM > Install-Package IronQR.Slim
Install-Package IronQR.Slim
Code Examples
Generate QR Code Example
using IronQr;using IronSoftware.Drawing;// Create a QR Code objectQrCode myQr = QrWriter.Write("hello world");// Save QR Code as a BitmapAnyBitmap qrImage = myQr.Save();// Save QR Code Bitmap as FileqrImage.SaveAs("qr.png");
using IronQr;
using IronSoftware.Drawing;
// Create a QR Code object
QrCode myQr = QrWriter.Write("hello world");
// Save QR Code as a Bitmap
AnyBitmap qrImage = myQr.Save();
// Save QR Code Bitmap as File
qrImage.SaveAs("qr.png");
ImportsIronQrImportsIronSoftware.Drawing' Create a QR Code objectDim myQr AsQrCode = QrWriter.Write("hello world")' Save QR Code as a BitmapDim qrImage AsAnyBitmap = myQr.Save()' Save QR Code Bitmap as FileqrImage.SaveAs("qr.png")
Imports IronQr
Imports IronSoftware.Drawing
' Create a QR Code object
Dim myQr As QrCode = QrWriter.Write("hello world")
' Save QR Code as a Bitmap
Dim qrImage As AnyBitmap = myQr.Save()
' Save QR Code Bitmap as File
qrImage.SaveAs("qr.png")
Read QR Code Example
using IronQr;using IronSoftware.Drawing;using System.Collections.Generic;// Open the asset to read a QR Code fromvar inputBmp = AnyBitmap.FromFile("IMAGE_TO_READ.png");// Load the asset into QrImageInputQrImageInput imageInput = new QrImageInput(inputBmp);// Create a QR Reader objectQrReader reader = new QrReader();// Read the Input an get all embedded QR CodesIEnumerable<QrResult> results = reader.Read(imageInput);
using IronQr;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Open the asset to read a QR Code from
var inputBmp = AnyBitmap.FromFile("IMAGE_TO_READ.png");
// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(inputBmp);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
ImportsIronQrImportsIronSoftware.DrawingImportsSystem.Collections.Generic' Open the asset to read a QR Code fromDim inputBmp = AnyBitmap.FromFile("IMAGE_TO_READ.png")' Load the asset into QrImageInputDim imageInput As New QrImageInput(inputBmp)' Create a QR Reader objectDim reader As New QrReader()' Read the Input an get all embedded QR CodesDim results AsIEnumerable(OfQrResult) = reader.Read(imageInput)
Imports IronQr
Imports IronSoftware.Drawing
Imports System.Collections.Generic
' Open the asset to read a QR Code from
Dim inputBmp = AnyBitmap.FromFile("IMAGE_TO_READ.png")
' Load the asset into QrImageInput
Dim imageInput As New QrImageInput(inputBmp)
' Create a QR Reader object
Dim reader As New QrReader()
' Read the Input an get all embedded QR Codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.