# IronQR > The C# QR Code Library. Read and Write QR codes in .NET Applications. Fast & Accurate using Scans and Live Image Processing. Supports .NET Framework. A single-file summary of the IronQR documentation: 44 pages, each as its own abstract, so a model can read the documentation in one pass rather than fetching every URL. Blog posts are not included — see https://ironsoftware.com/qr/csharp/llms.txt for the link index, and https://ironsoftware.com/qr/csharp/llms-full-catalog.txt for one that covers the blog too. ## Getting Started ### Setup on AWS Lambda | IronQR https://ironsoftware.com/qr/csharp/get-started/aws/ The article, titled "How to Read & Write QR Codes on AWS Lambda," provides a comprehensive guide for setting up AWS Lambda functions with IronQR to manage QR codes. The tutorial outlines steps for configuring IronQR to read and write QR codes directly to an Amazon S3 bucket. Key steps include downloading the necessary C# library, creating an AWS Lambda project using a containerized project template in Visual Studio, and modifying the Dockerfile and FunctionHandler code. The article emphasizes the importance of increasing memory and timeout settings to ensure smooth operation, recommending an initial configuration of 512 MB memory and a 300-second timeout. The sample C# code illustrates how to generate a QR code, upload it to S3, and read it back, demonstrating the function's capabilities. Users are guided through deploying the function in Visual Studio and invoking it via the AWS Lambda console. Necessary dependencies, such as the AWSSDK.S3 package, are discussed, and instructions for publishing the project to AWS Lambda are provided. The article concludes with a prompt to activate and test the Lambda function, ensuring users can effectively integrate QR code functionalities into their AWS Lambda setup. ### Blazor QR Code Scanner | IronQR How-To Guide https://ironsoftware.com/qr/csharp/get-started/blazor-qr-code-scanner/ The article provides a comprehensive guide on building a QR code scanner using Blazor Server and the IronQR library. Blazor Server, a .NET web framework, facilitates server-side operations and UI updates via SignalR. The guide details integrating IronQR into a Blazor Server application to enable QR code scanning from browser-uploaded images without JavaScript. Key steps include installing the IronQR C# library, setting up an `InputFile` component for image uploads, and using `QrReader.Read()` to decode QR codes server-side. The process involves streaming uploaded files to a server, wrapping them in a `QrImageInput`, and displaying the decoded value in the Blazor component. Prerequisites include Visual Studio 2022 and a Blazor Server project targeting .NET 8 or later. The article also showcases a sample QR code for testing and provides code snippets for implementing the scanner UI and logic. The complete project is available for download, and the guide concludes with insights on scaling the solution to handle multiple QR codes per image. Additional resources are provided for further exploration of QR code reading techniques and scan modes. ### License Key Setup for IronQR in C# (.NET 10) | IronQR https://ironsoftware.com/qr/csharp/get-started/license-keys/ The article "License Key Setup for IronQR in C# | IronQR" provides a comprehensive guide on implementing and managing license keys for IronQR in C# applications. Ensuring proper usage and compliance is crucial, and the guide begins by explaining how to acquire a license key, either by purchasing or signing up for a free 30-day trial. The first step involves downloading the latest IronQR version via NuGet or DLL. Next, it details how to apply the license key in different environments. For general C# applications, the key can be set in the application startup code. Alternatively, for web applications, the license key can be applied using Web.Config or App.Config, with a note on potential issues in older IronQR versions and specific project types like ASP.NET. For .NET Core applications, the license key setup is done through the appsettings.json file. The article emphasizes testing the license key to ensure it is applied correctly and advises verifying with IronQR's built-in validation methods. Finally, it encourages users to start their projects with IronQR and provides contact information for support. Overall, the guide facilitates a smooth setup process for developers integrating IronQR into their C# applications. ### .NET MAUI QR Code Scanner Tutorial | IronQR https://ironsoftware.com/qr/csharp/get-started/net-maui-qr-code-scanner-tutorial/ The tutorial titled ".NET MAUI QR Code Scanner Tutorial | IronQR" provides a comprehensive guide for building a QR code scanner using .NET MAUI and the IronQR library. The tutorial is tailored for developers working across Android, iOS, and Windows platforms. It begins by introducing the essential components needed to set up the development environment and integrate IronQR into a .NET MAUI project. The guide emphasizes the use of the FilePicker for selecting images containing QR codes, an essential step in the scanning process. Following the selection, the QrReader.Read() method is used to decode the QR codes efficiently. Detailed instructions are provided to ensure seamless implementation, including code snippets and troubleshooting tips to help developers overcome common challenges. The tutorial also touches on enhancing user experience by optimizing the scanner's performance and ensuring compatibility across different devices. Through this step-by-step approach, developers can create a robust QR code scanning application that leverages the cross-platform capabilities of .NET MAUI, thus expanding the functionality and reach of their software solutions. This guide is ideal for developers seeking to integrate QR code reading capabilities into their applications efficiently and effectively. ### IronQR NuGet Packages | Platform-Specific Installation Guide https://ironsoftware.com/qr/csharp/get-started/nuget-packages/ The article titled "IronQR NuGet Packages | Platform-Specific Installation Guide" serves as a comprehensive resource for developers seeking to integrate QR code functionality into their .NET projects. It explores the various IronQR NuGet packages available for different platforms, including Windows, Linux, Mac, iOS, and Android, ensuring that developers can find the right package for their specific project needs. The guide begins with an overview of the IronQR library and its capabilities in generating and reading QR codes across multiple platforms. It then delves into platform-specific instructions, providing step-by-step guidance on how to install the appropriate NuGet package for each operating system. The article emphasizes the importance of selecting the correct package to ensure compatibility and optimal performance. Additionally, it offers troubleshooting tips and best practices for a smooth installation process. By the end of the guide, developers will have a clear understanding of how to incorporate IronQR into their projects, enhancing the functionality and user experience of their applications. This resource is particularly valuable for .NET developers looking to streamline their development process with reliable and efficient QR code solutions. ### Supported QR Code Formats in IronQR | Getting Started https://ironsoftware.com/qr/csharp/get-started/supported-qr-formats/ IronQR supports a variety of QR code formats, catering to diverse needs regarding data capacity, physical dimensions, and scanning adaptability. This article highlights the three QR variants that IronQR can generate and read, providing a quick-start code sample for integration into C# applications. The standard QR Code is globally recognized, offering high data capacity and error correction, making it suitable for general-purpose applications. Micro QR Code is a miniaturized version designed for space-constrained environments like electronics and retail tags, offering a smaller data capacity but faster scanning. Rectangular Micro Code (RMQRCode) is ideal for narrow spaces, providing flexibility in layouts where square codes are unsuitable. Each format allows for different use cases, from large-scale logistics to tiny component labeling. The article includes a C# code snippet to demonstrate how to generate QR codes with different encodings, with the ability to automatically detect QR code formats in mixed environments. This guide empowers developers to choose the right QR code type for their specific requirements, ensuring efficient data encoding and retrieval. For visuals, the article also contains images of each QR code type. ### WPF QR Code Scanner Tutorial | IronQR https://ironsoftware.com/qr/csharp/get-started/wpf-qr-code-scanner/ The article titled "WPF QR Code Scanner Tutorial | IronQR" serves as a comprehensive guide for developers looking to build a QR code scanner within a Windows Presentation Foundation (WPF) desktop application. The tutorial introduces IronQR, a powerful tool for reading QR codes, and walks users through the process of integrating it into their projects. It details how to utilize the OpenFileDialog for selecting image files, which can then be processed by the QrReader.Read method to decode the QR codes. The step-by-step instructions are designed for both novice and experienced developers, ensuring a smooth implementation process. By following this guide, developers can efficiently add QR code scanning functionality to their WPF applications, enhancing their software's interactivity and utility. The article also highlights the ease of use and efficiency of IronQR, making it a valuable resource for those looking to incorporate advanced features into their desktop applications. Overall, this tutorial is an essential read for developers interested in leveraging QR code technology within the WPF framework. ## Tutorials ### The Ultimate Guide to Build C# QR code Generator Application | IronQR https://ironsoftware.com/qr/csharp/tutorials/csharp-qr-code-generator-application/ The article titled "The Ultimate Guide to Build C# QR Code Generator Application | IronQR" from Iron Software provides a comprehensive tutorial on creating a QR code generator using C# and the IronQR library. The guide begins by introducing IronQR, a .NET library known for its advanced features and high accuracy in reading QR codes. It supports various .NET environments and offers customization options for generating QR codes. Readers are guided through the process of setting up a Windows Forms Application in Visual Studio, installing the IronQR library via NuGet, and designing the application's frontend. The tutorial emphasizes incorporating essential namespaces, configuring a license key, and managing directories for QR code storage. It covers color selection, logo embedding, and styling parameters for QR codes. The article details the backend logic for generating QR codes based on user inputs and saving them, along with error handling and reset functions. A complete code example is provided, showcasing how to integrate all features into a functional application. The guide concludes by highlighting IronQR's versatility and the availability of a free trial for further exploration, making it a valuable resource for developers looking to implement QR code functionality in their .NET applications. ### C# QR Code Generator (for .NET 10, 9, 8, 7, 6, Core & Framework) | IronQR https://ironsoftware.com/qr/csharp/tutorials/csharp-qr-code-generator/ The article on IronQR, titled "C# QR Code Generator (for .NET 10, 9, 8, 7, 6, Core & Framework) | IronQR," provides an informative guide to using the IronQR library for generating and reading QR codes in C#. In today's digital age, QR codes are a vital tool for accessing and connecting with information and services. IronQR offers a straightforward solution for developers of all levels to integrate QR code functionality into their C# applications. The tutorial walks readers through the process of setting up and implementing IronQR, making it accessible even for those new to programming. It covers generating custom QR codes from text strings and saving them as image files, as well as decoding QR codes from image files to extract important information. The library is available as a NuGet package, simplifying the installation process. The article emphasizes the ease and power of IronQR, highlighting its user-friendly nature, comprehensive documentation, and robust features. By using IronQR, developers can enhance their applications, bridging the gap between the physical and digital worlds. The article concludes by encouraging readers to explore the potential of QR codes in their projects with IronQR. ### C# Tutorial: Creating QR Codes | IronQR https://ironsoftware.com/qr/csharp/tutorials/csharp-qr-writing/ The article "C# Tutorial: Creating QR Codes" on IronQR's website provides a comprehensive guide to generating and customizing QR codes in C#. It introduces IronQR, a tool that enables developers to create QR codes for various image formats and customize them with features like background colors, margins, logos, and PDF stamping. The tutorial covers how to input data such as text, URLs, numbers, binary, and streams into QR codes using the `QrWriter` class. It also details the export options available for saving QR codes in different formats, including image files and PDFs. Additionally, the article explores QR code customization through options like encoding, error correction, and styling, providing the ability to resize, recolor, and add logos for branding purposes. The tutorial includes code snippets and examples to demonstrate the tool's functionalities, emphasizing its flexibility and ease of integration into .NET applications. Furthermore, it highlights IronQR's error-handling capabilities, offering tools for debugging and ensuring fault tolerance through features like checksums. Concluding with a call to explore further resources and trial options, the article positions IronQR as a versatile solution for developers seeking to enhance their projects with customized QR codes. ## How-To Guides ### Modify QR Code Logo | IronQR https://ironsoftware.com/qr/csharp/how-to/add-custom-logo-qr-code/ The article "Modify QR Code Logo | IronQR" provides a comprehensive guide on embedding a company logo into QR codes using the IronQR library in C#. This customization elevates a standard QR code into a powerful branding tool, suitable for marketing materials, product packaging, and digital campaigns. The process involves utilizing the `QrLogo` class and the `Logo` property within `QrStyleOptions` to control the logo's dimensions and corner radius, ensuring it fits seamlessly into the QR code. A step-by-step quickstart guide demonstrates loading the logo image, attaching it to `QrStyleOptions`, and saving the final branded QR code. The article emphasizes the use of square logos with transparent or white backgrounds for optimal results. Additionally, it suggests enhancing the QR code with brand-specific colors, adding margins for better scanning on smaller prints, and adjusting error correction levels to maintain readability with larger logo overlays. This guide is designed for developers leveraging C# to create visually striking QR codes that maintain full functionality while promoting brand identity. ### Add Margins to QR Code | IronQR https://ironsoftware.com/qr/csharp/how-to/add-margins-qr-code/ The article titled "Add Margins to QR Code | IronQR" provides a comprehensive guide on enhancing QR code readability by adding margins, also known as "quiet zones," using the IronQR library in C#. Margins are crucial for ensuring QR codes are correctly recognized by scanning devices, especially within unique layouts. The guide outlines step-by-step instructions for integrating the IronQR library, generating a QR code, and applying both uniform and side-specific margins to optimize the QR code's visual presentation and technical accuracy. Users are instructed to download the IronQR C# library, generate a QR code with a string value using the `QrWriter` class, and apply margins using the `Margins` property or the `MarginTop`, `MarginBottom`, `MarginLeft`, `MarginRight` properties for more precise control. The article includes examples of setting a uniform margin of 40 pixels and customizing individual margins for asymmetrical layouts. Additionally, it demonstrates how to save the modified QR code as an image file for external use. Visual examples of QR codes with applied margins are provided to illustrate the impact of margin adjustments on the overall design and functionality. ### Create QR Code Images in C# Tutorial | IronQR Guide https://ironsoftware.com/qr/csharp/how-to/create-qr-code-image/ IronQR is a C# library that enables developers to easily create QR code images in various formats. The library uses the QrWriter.Write() method to generate QR codes from text or data, which can then be saved as AnyBitmap objects and exported to multiple image formats including PNG, JPEG, BMP, GIF, TIFF, WBMP, WebP, and Icon. The implementation process is straightforward: install IronQR via NuGet, add the necessary using statements (IronQr and IronSoftware.Drawing), generate the QR code with QrWriter.Write("your text"), save it as a bitmap using the Save() method, and export it using SaveAs() with the desired image format. The library supports both lossy and lossless compression formats, making it suitable for various applications from web use to professional photography. QR codes created with IronQR encode data as scannable visual patterns of black and white squares that can store URLs, text, or other information in a compact format readable by cameras and scanners. ### C# QR Code Error Correction Levels: Low, Medium, Quartile & High | IronQR https://ironsoftware.com/qr/csharp/how-to/error-correction-qr-code/ The article "C# QR Code Error Correction Levels: Low, Medium, Quartile & High" on IronQR's website provides a comprehensive guide for developers on configuring error correction levels in QR codes using C#. It explores the significance of error correction in ensuring QR codes remain scannable despite damage or obstructions, which is crucial for maintaining data integrity. The guide details how to set different error correction levels—Low, Medium, Quartile, and High—using IronQR's library. By adjusting the `QrErrorCorrectionLevel` via `QrOptions` and employing `QrWriter.Write`, developers can generate robust QR codes suitable for various use cases. Each error correction level is explained in terms of its capacity to handle data loss, with Low offering minimal correction and High providing the most redundancy. The article underscores the balance between data capacity and error resilience, emphasizing the importance of selecting the appropriate level based on specific application needs. This resource serves as a practical manual for developers aiming to enhance the reliability of QR codes in their applications, ensuring seamless data retrieval even under challenging conditions. The article concludes with practical examples and code snippets, empowering developers to implement these features effectively. ### Implement Custom QR Code Colors | IronQR https://ironsoftware.com/qr/csharp/how-to/implement-custom-qr-code-colors/ In the article "Implement Custom QR Code Colors" by IronQR, readers are guided through the process of personalizing QR codes by altering their foreground and background colors using C#. Customizing these elements allows companies to enhance their brand identity while ensuring the QR codes remain scannable. The article introduces the `QrStyleOptions` class in IronQR, which facilitates these modifications. A quickstart guide demonstrates how to set up and save a customized QR code with a simple five-step workflow. Users are instructed to download the IronQR C# library, create a QR code using the `QrWriter` class, and adjust the appearance with `QrStyleOptions`. The article emphasizes the importance of maintaining sufficient contrast between the foreground and background colors to ensure scannability. Additionally, examples illustrate changing the background color to match brand palettes and modifying the foreground color to incorporate primary brand hues. The article concludes by encouraging readers to explore more advanced styling options, such as logos and dimensions, through IronQR’s documentation and GitHub examples. This guide empowers businesses to create visually appealing, brand-aligned QR codes that are functional across various devices and environments. ### C# Read QR Code Type with QrResult.QrType | IronQR https://ironsoftware.com/qr/csharp/how-to/read-qr-code-type/ The article "C# Read QR Code Type with QrResult.QrType | IronQR" provides a detailed guide on how to identify different QR code types using the IronQR library in C#. It begins by explaining the significance of QR code symbology detection, which is essential for intelligent format-based processing within applications. The core process involves using the IronQR library's `QrReader.Read()` method on a `QrImageInput`. This facilitates scanning of QR codes, after which the `QrResult.QrType` property is employed to determine the specific QR code type. The article highlights the versatility of IronQR in handling various QR code formats beyond standard QR, such as Micro QR and Model 1 QR codes. Furthermore, it emphasizes the ease of integration of this functionality into C# applications, making it a valuable tool for developers seeking to enhance their apps' QR code handling capabilities. By following the step-by-step instructions provided, developers can accurately read and process different QR code types, enabling more sophisticated data processing and application functionalities. The article is a comprehensive resource for those looking to leverage QR code technology effectively within the C# programming environment. ### C# Read QR Code Value: Extract Value, URL & Coordinates | IronQR https://ironsoftware.com/qr/csharp/how-to/read-qr-code-value/ The article titled "C# Read QR Code Value: Extract Value, URL & Coordinates | IronQR" provides a comprehensive guide for developers on how to extract information from QR codes using the IronQR library in C#. It begins by introducing the essential functions of the library, specifically focusing on the QrReader.Read() method. This method is pivotal for decoding QR codes effectively. Once a QR code is read, the resulting data is stored in a QrResult object. Developers can then access the decoded string through the QrResult.Value property, making it easy to handle the information within their applications. Additionally, the article explains how to parse URLs directly from QR codes using the QrResult.Url property, which simplifies the process of URL extraction. Furthermore, it dives into the retrieval of corner coordinates of the QR code, which is achievable through the QrResult.Points property. This feature is particularly useful for applications requiring precise location data of the QR code within an image. By the end of the guide, readers are equipped with the knowledge to implement QR code reading capabilities efficiently in their C# projects using IronQR. ### Read QR Codes from Images in C# | IronQR Tutorial https://ironsoftware.com/qr/csharp/how-to/read-qr-codes-from-image/ IronQR is a C# library that enables developers to read QR codes from various image formats including JPEG, PNG, GIF, TIFF, BMP, WBMP, WebP, ICO, WMF, and RAW files. The library utilizes advanced machine learning models for accurate QR code detection and decoding. The process involves loading images through IronDrawing, creating a QrImageInput object, and using the QrReader.Read method to extract QR data. This multi-format support eliminates the need for format conversion and allows processing of QR codes from diverse sources like digital cameras, scanners, mobile devices, and web downloads. The tutorial provides a straightforward implementation example showing how to load an image file, create the necessary input object, decode the QR code, and iterate through detected codes to access their data. IronQR's comprehensive format support makes it suitable for real-world applications where QR codes appear in various contexts and file types, streamlining the integration of QR code reading functionality into C# applications. ### Read QR codes with Different Scanning Modes | IronQR https://ironsoftware.com/qr/csharp/how-to/read-qr-codes-with-scan-modes/ The article titled "Read QR codes with Different Scanning Modes" on IronQR provides a comprehensive guide on reading QR codes using various scanning methods within a C# project. It emphasizes the flexibility and efficiency of the IronQR library, which allows developers to integrate QR code scanning capabilities seamlessly into their applications. The content delves into different scanning modes, offering in-depth explanations and practical code examples to demonstrate how each mode can be implemented. It also highlights the importance of selecting the appropriate scanning method based on the specific requirements of a project, such as speed and accuracy. Readers are encouraged to download the IronQR library to enhance their projects with robust QR code reading functionalities. Targeted at developers seeking to incorporate advanced QR code scanning features, the article serves as an essential resource, providing both technical guidance and actionable insights. The article is structured to cater to both beginners and experienced developers, ensuring that all readers can benefit from the detailed walkthroughs and the library's capabilities. In conclusion, the guide positions IronQR as a versatile tool for enhancing C# projects with state-of-the-art QR scanning technologies. ### Resize QR Code Image | IronQR https://ironsoftware.com/qr/csharp/how-to/resize-qr-code-image/ The article "Resize QR Code Image | IronQR" provides a comprehensive guide on resizing QR code images using the IronQR library within a C# project. Properly scaling QR codes is crucial for maintaining their scannability across different formats, preventing blurring, and ensuring readability. The guide outlines a step-by-step process: first, download the IronQR C# library; then, create a `QrStyleOptions` object. Next, set the `Dimensions` property to define the desired size, generate the QR code, and finally, save the resized image. The example provided details creating a QR code from a URL, applying a custom size of 500 pixels through the `Dimensions` property of the `QrStyleOptions` class, and saving the output as a PNG file. The `Dimensions` property offers a direct 1:1 mapping, meaning the defined integer sets the exact pixel width and height of the QR code. The article includes visual examples of both original and resized QR codes, demonstrating the effectiveness of the method. This guide is invaluable for those needing to generate QR codes for print or digital signage purposes, ensuring clarity and functionality in their applications. ### C# Stamp QR Code into PDF Page: StampToExistingPdfPage | IronQR https://ironsoftware.com/qr/csharp/how-to/stamp-qr-code-to-pdf/ The article provides a comprehensive guide on embedding QR codes into existing PDF pages using C# and IronQR. It begins by introducing the need for adding QR codes to PDFs, whether for watermarking purposes or to include dynamic information within documents. The step-by-step process involves generating a QR code using the `QrWriter.Write` method, which allows users to customize the content and appearance of the QR code. Once the QR code is created, the article explains how to precisely stamp it onto a specified location within a PDF page using the `StampToExistingPdfPage` method. This method ensures that the QR code is placed at exact coordinates, offering flexibility for developers who need to integrate such functionality into their applications. The guide is aimed at developers familiar with C#, providing code snippets and practical examples to facilitate understanding and implementation. Additionally, the article highlights the benefits of using IronQR, such as efficiency and ease of use, making it a valuable resource for developers looking to enhance their PDF documents with QR codes. Overall, the guide serves as a detailed resource for embedding QR codes into PDFs, catering to both beginners and experienced developers. ## Code Examples ### Add Margins to QR Codes | IronQR https://ironsoftware.com/qr/csharp/examples/add-margins-qr-code/ In the article titled "Add Margins to QR Codes" on IronQR's website, readers are guided through the process of enhancing QR code scannability and design by incorporating margins, also known as "quiet zones." Margins play a critical role in preventing read errors by allowing scanning devices to easily distinguish the QR code from surrounding elements such as text and images. This tutorial offers a straightforward 5-step guide using IronQR in C#, demonstrating how to add these essential margins. The process begins by employing the QrStyleOptions class, which efficiently applies uniform margins to all sides of the QR code. For designs requiring specific adjustments, properties like MarginTop, MarginBottom, MarginLeft, and MarginRight allow for tailored spacing, ensuring optimal placement in diverse layouts. The styling adjustments are finalized during the Save process, creating QR code images with precise dimensions. The article also provides links to related documentation, tutorials, and a GitHub repository for further exploration. Users are encouraged to download the IronQR DLL via NuGet, with the latest version boasting over 54,926 downloads. This resource is ideal for developers seeking to seamlessly integrate professionally-styled QR codes into their applications. ### Blazor QR Code Web Scanner | IronQR C# Example https://ironsoftware.com/qr/csharp/examples/blazor-qr-code-scanner/ The article provides a comprehensive guide on implementing a QR code scanner in a Blazor Server application using IronQR. It details the process of uploading an image via Blazor's `InputFile` component and decoding it server-side using the `QrReader.Read()` method in C#. The guide outlines a five-step approach to efficiently scan QR codes, beginning with importing necessary namespaces like `IronQr` and `IronSoftware.Drawing`. It describes the use of `InputFile.OnChange` to trigger file selection, followed by streaming the uploaded file to a temporary server path using `OpenReadStream`. The image is then decoded with `AnyBitmap.FromFile`, and a `QrImageInput` is created for IronQR processing. The method returns an `IEnumerable`, from which the first result is safely retrieved using `FirstOrDefault`, ensuring no errors occur if no QR code is present. This practical example serves as a valuable resource for developers looking to integrate QR code scanning functionality into their Blazor applications, enhancing user interactivity and functionality. A supplemental link is provided for further exploration of building a Blazor QR Code Scanner with IronQR. ### C# QR Code Error Correction: Configure Levels with QrOptions | IronQR https://ironsoftware.com/qr/csharp/examples/error-correction-qr-code/ The discussed article from IronQR delves into configuring QR code error correction levels using C# with IronQR. It highlights the importance of setting the correct error correction level to ensure QR codes can withstand physical damage while remaining scannable. IronQR employs Reed-Solomon error correction, offering four levels: Low, Medium, High, and Highest. The article provides a concise 5-step guide for implementing these levels, showing how to use IronQr and IronSoftware.Drawing to set a `QrOptions` object with a preferred error correction level, such as Medium, which balances compactness and damage recovery. For environments with higher risk of wear and tear, switching to the Highest level offers maximum durability but results in a denser QR code pattern. The article also explains how to save and export generated QR codes as PNG files. This comprehensive guide is ideal for developers who need to generate robust QR codes for various challenging environments. For further exploration, readers are directed to additional resources on setting QR code error correction levels with IronQR. ### Code Example: Generate QR Code | IronQR https://ironsoftware.com/qr/csharp/examples/generate-qr-code/ The article, titled "Generate QR Code | IronQR," explores the transformative role of QR codes in bridging the gap between physical and digital realms. QR codes have become essential tools in the modern digital age, enabling seamless interaction with information and services. Their versatility makes them ideal for various applications, including sharing links, facilitating contactless payments, and managing inventory. The significance of generating QR codes lies in their ability to offer contactless experiences, provide rapid access to information, and enhance marketing and data collection endeavors. Businesses and developers find value in the simplicity and adaptability of QR code generation, allowing them to meet the ever-changing needs of customers. IronQR is highlighted as an effective tool for generating QR codes, offering users the ability to enrich applications and deliver improved convenience and efficiency. The article encourages readers to leverage QR codes through IronQR to enhance user experience and drive business growth. Additionally, the page offers links to related documentation, tutorials, and guides, providing further resources for users interested in integrating QR code functionality into their applications. Overall, the article underscores the pivotal role of QR codes in enhancing user engagement and streamlining business processes. ### Code Example: Generate Styled QR Codes | IronQR https://ironsoftware.com/qr/csharp/examples/generate-styled-qr/ The article "Generate Styled QR Codes" on IronQR's website highlights the advanced customization options available for QR codes. IronQR allows users to go beyond basic functionality by integrating logos, vibrant colors, controlled spacing, and personalized text into QR codes. This customization makes the codes not only functional but also visually appealing, aligning them with a brand's identity. By enhancing the aesthetic appeal, these styled QR codes can seamlessly integrate into marketing materials, product packaging, or user interfaces, creating a consistent and engaging user experience. The article emphasizes that personalizing QR codes increases recognition and engagement, thereby making them a valuable tool in communication strategies. IronQR provides users full control over the visual aspects, ensuring that QR codes become a harmonious part of brand identity. The page also offers additional resources such as related documentation, tutorials, and guides, along with options to view the project on GitHub or report issues. This comprehensive approach enables users to effectively incorporate QR codes into their branding efforts, leveraging their potential as a tool for enhanced user interaction and marketing communication. ### C# .NET MAUI QR Code Scanner | IronQR Example https://ironsoftware.com/qr/csharp/examples/net-maui-qr-code-scanner/ The article demonstrates how to implement a QR code scanner in a .NET MAUI mobile application using IronQR, an effective library for processing QR codes. The process involves selecting an image from the device's library via `FilePicker.Default.PickAsync`, which opens the native image picker filtered to image types. Once an image is selected, its path is retrieved using `images.FullPath.ToString()` and loaded into a bitmap format using `AnyBitmap.FromFile`. This bitmap is then wrapped into a `QrImageInput`, allowing IronQR to decode it. The `QrReader.Read` method processes the image and returns an `IEnumerable`, from which the decoded string can be extracted using `First().Value`. This approach works seamlessly on both Android and iOS platforms from a single shared codebase, making it an efficient solution for mobile developers. The article includes a 5-step guide explaining the necessary import statements and code snippets to facilitate the QR scanning functionality. Additionally, readers are encouraged to explore a comprehensive tutorial on building a .NET MAUI QR code scanner using IronQR through a provided link. ### C# .NET QR Quickstart Guide, Code Examples | IronQR https://ironsoftware.com/qr/csharp/examples/qr-quickstart/ The "C# .NET QR Quickstart Guide" on IronQR's website introduces developers to a powerful C# library designed to simplify QR code generation and reading. IronQR facilitates the creation, decoding, and customization of QR codes with minimal effort, catering to developers of all experience levels. Users can generate QR codes with unique styling options such as logos, colors, spacing, and text enhancements, ensuring that the QR codes are both functional and visually distinctive. IronQR is positioned as an essential tool for developers looking to incorporate QR code technology into various applications, whether for marketing optimization, user engagement enhancement, or business process improvement. The guide provides resources such as related documentation, tutorials, and a download link for the IronQR DLL, making it easy for developers to access and utilize the library. Additionally, there are links to view the project on GitHub and report issues, ensuring robust support and community engagement. Overall, IronQR offers a seamless solution for elevating C# applications by unlocking the full potential of QR codes. ### Code Example: Read QR Code Advanced | IronQR https://ironsoftware.com/qr/csharp/examples/read-qr-code-advanced/ The article titled "Read Advanced QR Code" on IronQR's website emphasizes the integration of state-of-the-art Machine Learning (ML) models to enhance QR code reading capabilities. IronQR leverages advanced ML technology to provide applications with high accuracy and efficiency in decoding QR codes, even under challenging conditions. Whether sourced from images, videos, or live camera feeds, the ML-powered solution swiftly and reliably extracts information, thereby simplifying data extraction processes. Additionally, this innovation enhances security by distinguishing legitimate QR codes from potential threats. By employing this advanced ML model, IronQR positions its QR code reading functionalities at the forefront of technology, ensuring a seamless and dependable user experience. The page also offers various resources, including related documentation, tutorials, and guides, as well as links to the GitHub repository, for users seeking deeper integration or troubleshooting assistance. Overall, IronQR’s advanced QR code reading solution exemplifies their commitment to providing cutting-edge technology for efficient and secure data processing. ### C# Read QR Code Type with QrResult.QrType | IronQR https://ironsoftware.com/qr/csharp/examples/read-qr-code-type/ The article "C# Read QR Code Type with QrResult.QrType | IronQR" provides a comprehensive guide on detecting the symbology of QR codes using IronQR in C#. By leveraging the `QrResult.QrType`, developers can easily determine the format of scanned QR codes, enabling intelligent processing such as validation, routing, or logging based on the QR code type. The article offers a straightforward 5-step guide to read QR code types, starting with importing the IronQR library, loading an image containing a QR code, and using the `QrReader` to scan the image. The results, encapsulated in `QrResult` objects, reveal the symbology type through `QrType`. This functionality supports diverse applications by allowing developers to perform format-based operations efficiently. The article also includes a code explanation, emphasizing how the process is implemented and the practical applications of accessing QR code type information. For further exploration, a link to additional documentation on reading QR code types with IronQR is provided. ### C# Read QR Code Value with QrReader.Read() | IronQR https://ironsoftware.com/qr/csharp/examples/read-qr-code-value/ IronQR simplifies the process of reading QR code values in C# by using the `QrReader.Read()` method on a `QrImageInput`. This capability allows developers to effortlessly extract the embedded data from any scanned QR code and access it through the `Value` property on each `QrResult`. The article offers a concise, 5-step guide to demonstrate how to read a QR code value. It starts with importing the `IronQr` namespace and proceeds to load an image from the disk, which is then wrapped in a `QrImageInput` object. This object directs IronQR on what to scan. A `QrReader` instance is then created to process the input and return a collection of `QrResult` objects. Each object corresponds to a QR code identified in the image. By calling the `.Value` on a `QrResult`, users can directly obtain the decoded string, which could range from a URL or a product ID to any other encoded text. This straightforward approach allows for immediate display of the QR code's content to users, saving it to a database, or passing it for further processing. The article also provides a link to further explore how to read QR code values using IronQR. ### Code Example: Read QR Code | IronQR https://ironsoftware.com/qr/csharp/examples/read-qr-code/ IronQR offers an advanced solution for reading QR codes by integrating state-of-the-art Machine Learning (ML) models. This technology elevates QR code reading to a higher level of accuracy and efficiency. Whether QR codes are scanned from images, videos, or live camera feeds, IronQR ensures swift and reliable decoding of information. The ML-powered solution not only simplifies data extraction but also enhances security by distinguishing between legitimate QR codes and potential threats. This ensures that applications utilizing IronQR provide users with a seamless and dependable experience. The innovation in IronQR's ML model signifies a commitment to delivering the most advanced QR code reading capabilities. Additionally, users can access related documentation, tutorials, and guides, and even download the IronQR DLL for integration into their applications. IronQR positions itself at the forefront of QR code technology, offering a cutting-edge experience that meets the demands of modern applications and security requirements. ### Code Example: Read QR with Machine Learning | IronQR https://ironsoftware.com/qr/csharp/examples/read-qr-with-machine-learning/ IronQR's article highlights the integration of advanced Machine Learning (ML) models to enhance QR code reading capabilities. By leveraging state-of-the-art ML technology, IronQR significantly improves the accuracy and efficiency of decoding QR codes across various mediums, including images, videos, and live camera feeds. This innovation facilitates swift and reliable information retrieval, even in challenging scenarios, while bolstering security by distinguishing legitimate QR codes from potential threats. The ML-powered solution not only simplifies data extraction but also ensures that applications remain at the cutting edge of technology, providing users with a seamless and trustworthy experience. IronQR's commitment to delivering an exceptional QR code reading experience is further supported by related documentation and resources available on their GitHub page, including tutorials, how-to guides, and class documentation. This comprehensive approach ensures that developers can easily implement and benefit from the advanced capabilities of IronQR's ML-enhanced QR code reading solution. ### Resize QR Code Image | IronQR https://ironsoftware.com/qr/csharp/examples/resize-qr-code-image/ The article "Resize QR Code Image" on IronQR's website illustrates a comprehensive guide for developers on resizing QR code images using the Dimensions property in C#. Resizing is essential for maintaining functionality across various platforms, from high-resolution prints to mobile interfaces. Proper resizing prevents pixelation and ensures accurate scanning. The process involves using IronQR to control output resolution, maintaining the code's structural integrity and "quiet zone." A 5-step guide is provided, starting with importing the IronQr namespace, followed by defining the target URL using QrWriter.Write to create the QR code's data structure. The QrStyleOptions class allows developers to set exact pixel dimensions, maintaining a 1:1 aspect ratio. The Save method applies these configurations, and SaveAs exports the high-resolution bitmap file. The article encourages readers to explore related documentation, tutorials, and how-to guides, and invites them to download the IronQR DLL from NuGet, with over 54,926 downloads reported. This practical approach ensures that developers can effectively resize QR codes for diverse applications, promoting accessibility and efficient data encoding. ### C# Embed QR Code in PDF: Stamp QR onto Existing PDF Pages | IronQR https://ironsoftware.com/qr/csharp/examples/stamp-qr-code-to-pdf/ The article "C# Embed QR Code in PDF: Stamp QR onto Existing PDF Pages | IronQR" provides a detailed guide on embedding QR codes into PDF documents using IronQR. It outlines a straightforward two-step process to achieve this: generating a QR code with `QrWriter.Write`, then stamping it directly onto the PDF with `StampToExistingPdfPage`, specifying the PDF path, precise x and y coordinates, the page index, and the PDF password. This allows for the QR code to be positioned accurately on any page without altering the document's existing structure. The guide includes practical code snippets, illustrating how to create a QR code with the message "hello world" and stamp it onto a PDF at specific coordinates. The article also highlights various applications, such as embedding payment links on invoices or adding tracking IDs to event tickets. Additionally, it discusses adjusting the QR code's error correction level through a `QrOptions` object to optimize size-to-data tradeoffs. The comprehensive explanation ensures that developers can seamlessly integrate QR code stamping into their PDF handling processes. ### C# WPF QR Code Scanner | IronQR Example https://ironsoftware.com/qr/csharp/examples/wpf-qr-code-scanner/ The article "C# WPF QR Code Scanner | IronQR Example" provides a comprehensive guide for implementing a QR code scanning feature in a WPF desktop application using IronQR. This tutorial focuses on utilizing the native `OpenFileDialog` to facilitate image selection, which can include file types such as PNG, JPG, JPEG, and BMP. The selected image is then loaded into the application through `AnyBitmap.FromFile`. The core of the QR code scanning functionality is achieved via `QrReader.Read`, which processes the image and returns a collection of `QrResult` objects, each representing a detected QR code. The guide ensures robustness by using `FirstOrDefault` to handle scenarios where no QR codes are present, preventing application crashes. The article also highlights the efficiency of IronQR in bypassing the need for JavaScript or web browsers, making it a suitable solution for purely desktop-based applications. Developers are provided with a step-by-step code snippet and additional resources to further explore the capabilities of IronQR, enhancing their WPF applications with QR code reading functionalities. ## Troubleshooting ### Troubleshooting: Apply a license key | IronQR https://ironsoftware.com/qr/csharp/troubleshooting/apply-a-license-key-in-ironqr/ The article titled "Troubleshooting: Apply a license key | IronQR" from Iron Software provides a comprehensive guide on how to correctly apply a license key in IronQR software. The guide emphasizes the importance of copying the license key accurately, noting that it is a long string ending with an expiry date. It offers three primary methods for setting the license key: directly in code, using `Web.Config` or `App.Config`, and through a .NET Core `appsettings.json` file. For direct code application, the key should be set before calling the library. For a global application using `Web.Config` or `App.Config`, the license key should be added under `appSettings`. In a .NET Core environment, a JSON file named `appsettings.json` should be created in the project's root directory, and the license key should be added to this file, ensuring it is set to always copy to the output directory. The guide also includes instructions on testing the installation of the license key by validating its correctness and confirming successful licensing of IronQR using C# code snippets. This step-by-step approach ensures users can efficiently apply and verify their license keys for IronQR. ### AWS Lambda - Runtime Exited Signal: Killed https://ironsoftware.com/qr/csharp/troubleshooting/aws-lambda-runtime-exited-signal-killed/ The article titled "AWS Lambda - Runtime Exited Signal: Killed" addresses a common error encountered in AWS Lambda functions, indicated by the message: "RequestId: 48ace8f3-1391-40ea-bc0e-aa864de3a8e2 Error: Runtime exited with error: signal: killed." This error is typically caused by insufficient memory allocation, leading the host machine or container environment to terminate the process that exceeds its memory capacity. To resolve this, users are advised to increase the memory allocation for the AWS Lambda function. The article provides a step-by-step guide to achieve this: access the AWS Management Console, navigate to Lambda functions, select the problematic function, and adjust its memory settings under the 'Configuration' tab. This solution aims to prevent the "signal: killed" error by ensuring the application has adequate memory resources to perform its tasks effectively. ### Troubleshooting: Engineering Request​ | IronQR https://ironsoftware.com/qr/csharp/troubleshooting/engineering-request-qr/ The article "Troubleshooting: Engineering Request​ | IronQR" provides guidelines for addressing issues encountered with the IronQR library. It emphasizes the importance of supplying detailed information to the support team to facilitate effective troubleshooting. Users are encouraged to share a code snippet or console application along with any relevant files. Additionally, providing comprehensive details about the application and system environment is crucial. Key information includes the IronQR library version, operating system and its version, the core/framework/standard version being used, and the type of environment such as on-premises, virtual machine, Docker, or other containers. Users should also specify the application or project type, which may range from Azure WebApps to ASP.NET MVC, Core, WebForms, Windows applications, and more. Further, input parameters like the type of image or PDF and any exception message texts, including inner exceptions, should be included. Understanding at which debugging point the process fails or escapes in the code is also essential. By providing these details, engineers can better replicate the user's environment and offer more tailored advice to resolve the issues effectively. ### Setting License Key in Web.config | IronQR https://ironsoftware.com/qr/csharp/troubleshooting/license-key-web.config/ In the article "Setting License Key in Web.config" from IronQR, the focus is on resolving a licensing issue found in older versions of IronQR, specifically those released before version 2024.3.2. This problem affected ASP.NET projects running on .NET Framework version 4.6.2 or higher, where the license key stored in a Web.config file was not automatically recognized by the product, leading to a licensing exception. The article provides a workaround for this issue by suggesting developers manually retrieve the license key from the Web.config file using the ConfigurationManager class in their code. An example is provided, demonstrating how to configure the Web.config file's appSettings section with the license key and subsequently retrieve this key in the C# code. By doing this, developers can ensure the license key is applied to the IronQR LicenseKey property, thus properly licensing their web applications. This workaround remains relevant for those using versions prior to 2024.3.2, as the issue has been resolved in subsequent releases. ### Troubleshooting: Runtime Copy Exception | IronQR https://ironsoftware.com/qr/csharp/troubleshooting/runtimes-copy-exception/ The "Runtime Copy Exception" error in IronQR occurs when DLLs necessary for the machine learning model are not copied correctly from the runtimes directory. This issue can arise across different operating systems or frameworks. To resolve it, users need to manually copy the required DLLs to the output directory. First, locate the `runtimes` folder in your project, typically found at `/bin/Debug/net6.0/runtimes`, and adjust the path according to your configuration and target framework. Inside the `runtimes` directory, identify the subdirectory matching your operating system platform (such as `win-x64`, `osx-x64`, or `linux-x64`). Copy the files from this subdirectory to your output directory, `/bin/Debug/net6.0/`. For Unix-like systems, a bash command can be used: `cp /bin/Debug/net6.0/runtimes//* /bin/Debug/net6.0/`, and for Windows, a PowerShell command: `Copy-Item -Path .\bin\Debug\net6.0\runtimes\\* -Destination .\bin\Debug\net6.0\`. Ensure you replace `` with the correct directory name. Once the files are copied, rebuild your project to confirm that the error is resolved and the ML model functions as intended. ### Saving QR Codes as SVG in IronQR https://ironsoftware.com/qr/csharp/troubleshooting/save-qr-codes-as-svg/ The article "Saving QR Codes as SVG in IronQR" addresses the inability of IronQR to natively export QR codes in SVG format due to its reliance on `SixLabors.ImageSharp`, which supports only raster formats like PNG, JPEG, and BMP. To overcome this limitation, the article proposes a solution that involves redrawing the generated bitmap QR code as SVG rectangles using the third-party library, Svg.NET. The process begins by generating the QR code with IronQR and saving it as an `AnyBitmap`. This bitmap is then cast to a `System.Drawing.Bitmap` to allow pixel-level manipulation. The next step involves creating an `SvgDocument` with dimensions matching the bitmap and iterating through each pixel to add a 1x1 `SvgRectangle` wherever a pixel is detected as black (using a threshold check for RGB values below 128). Finally, the constructed SVG document, now containing all the black pixels as vector shapes, is saved to disk. This method allows users to create scalable, vector-based QR codes ideal for print or high-resolution applications. ### Scanning Live Video Streams with IronQR https://ironsoftware.com/qr/csharp/troubleshooting/scan-live-video-streams/ The article "Scanning Live Video Streams with IronQR" addresses the challenge of reading QR codes in real-time from a phone's camera using IronQR, which lacks built-in support for live video stream scanning. To achieve real-time QR code decoding, users must manually capture individual frames from the camera feed and process each as a still image. The solution involves using platform-native APIs, such as Xamarin.Essentials, MAUI Camera, or Android/iOS SDKs, to access the camera. Frames should be captured continuously at short intervals, such as every 100ms, and converted into bitmaps. These bitmaps are then wrapped in a `QrImageInput` object and passed to the `QrReader.Read()` method. The code snippet provided demonstrates how to load a captured bitmap into `QrImageInput`, create a `QrReader` object, and read the input to obtain embedded QR code results. While each call analyzes a single frame, decoding frames consecutively gives the impression of live scanning. This approach leverages IronQR's high-accuracy static QR code recognition capabilities in conjunction with additional tools to simulate real-time scanning, as true live video stream scanning remains outside IronQR's built-in functionalities. ## Product Updates ### IronQR Updatess & Feature Enhancements | IronQR https://ironsoftware.com/qr/csharp/product-updates/changelog/ The IronQR changelog details the ongoing updates and enhancements made to the IronQR software, which originated from customer requests for improved QR code solutions. The development team actively implements the latest technologies like image filters, computer vision, and machine learning to enhance performance. As of June 2025, IronQR is used in 96 countries, with plans to expand its use cases to include live streams and barcode readers, and eventually support multiple programming languages. Recent updates, such as version 2025.6.8 released on June 3, 2025, included upgrades to `IronSoftware.System.Drawing` and separated platform support into individual packages, addressing deployment issues on macOS, Linux, Android, and iOS. Past updates from May 2025 and earlier focused on updating dependencies and fixing minor bugs. For instance, version 2025.5.4 in May and version 2025.4.1 in April included updates to the `IronSoftware.System.Drawing` dependency. An important update in October 2024 improved QR reading speed and accuracy while adding support for Micro QR and Rectangular Micro QR. The changelog reflects a continuous commitment to improving the software in response to community feedback and technological advancements.