Blazor QR Code Scanner
using IronQr;
using IronSoftware.Drawing;

private string? qrImageSrc;
private string scannedText = string.Empty;

private async Task OnFileSelected(InputFileChangeEventArgs e)
{
    var file = e.File;
    var tempPath = Path.Combine(Path.GetTempPath(), file.Name);
    await using var stream = file.OpenReadStream(maxAllowedSize: 10_000_000);
    await using var fs = File.Create(tempPath);
    await stream.CopyToAsync(fs);
    qrImageSrc = tempPath;
}

private async Task ScanQRCode()
{
    // Load the scanned QR code
    var inputBmp = AnyBitmap.FromFile(qrImageSrc!);
    var imageInput = new QrImageInput(inputBmp);
    var reader = new QrReader();

    // Read the scanned QR code
    var results = reader.Read(imageInput);

    // Check if a result was found
    var firstResult = results.FirstOrDefault();
    if (firstResult != null)
    {
        // Save the QR code value as a string
        scannedText = firstResult.Value;
    }
    else
    {
        scannedText = "No QR code found in the selected image.";
    }
}
NuGet Download
PM > Install-Package IronQR
Blazor QR Code Scanner

Blazor QR Code Scanner

Use IronQR to scan QR codes in a Blazor Server application. Upload an image through the browser with Blazor's InputFile component, then decode it server-side with QrReader.Read().

5-step guide for scanning a QR code in Blazor

  • using IronQr;
  • using IronSoftware.Drawing;
  • await using var stream = file.OpenReadStream(maxAllowedSize: 10_000_000);
  • var inputBmp = AnyBitmap.FromFile(qrImageSrc!);
  • var results = reader.Read(imageInput);

Code Explanation

InputFile.OnChange fires when the user selects a file. OpenReadStream streams the browser upload to a temporary server path, which is then passed to AnyBitmap.FromFile to decode the image format. A QrImageInput wraps the bitmap for IronQR, and QrReader.Read returns an IEnumerable<QrResult>. FirstOrDefault safely retrieves the first result without throwing on images that contain no QR code.

Discover How to Build a Blazor QR Code Scanner with IronQR.

Ready to Get Started?

Nuget Downloads 80,612Version:2026.11just released