IRONSOFTWAREHOME

How to Customize and Add Logos to QR Codes in C#

Hairil Hasyimi Bin Omar
Hairil Hasyimi Bin Omar
Updated: August 2, 2026

Customize QR codes in C# by adding logos, changing colors, and including annotations using IronBarcode's CreateQrCodeWithLogo method and styling features to create branded, professional QR codes for marketing and business applications.

QR codes have gained popularity over traditional barcodes due to their higher data capacity and ease of scanning. They are especially valued in marketing for their customizability, including options for adding logos, changing colors, and incorporating other branding elements. Modern businesses leverage custom QR codes for various marketing campaigns and customer engagement strategies.

To meet this demand, IronBarcode offers a suite of features for customizing QR codes. Users can create QR codes with logos, change color schemes, and add annotations. These capabilities are powered by IronDrawing, a free and open-source library. The library supports multiple barcode formats including standard QR codes, Micro QR, and the latest rMQR formats.

Quickstart: Build a Branded QR Code in One Line

Get started instantly by creating a QR code with your logo, custom color, and annotation - all with minimal setup and just one line of IronBarcode code. Perfect for developers who want professional branding fast.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2Copy and run this code snippet.

    IronBarCode.QRCodeWriter.CreateQrCodeWithLogo("https://example.com", new IronBarCode.QRCodeLogo("logo.png"), 300).ChangeBarCodeColor(IronSoftware.Drawing.Color.DeepSkyBlue).AddAnnotationTextAboveBarcode("Scan Me", new IronSoftware.Drawing.Font("Verdana",12), IronSoftware.Drawing.Color.White, 5).SaveAsPng("customQR.png");
    C#
  3. 3Deploy to test on your live environment

    Start using IronBarcode in your project today with a free trial
    arrow pointer

A QRCodeLogo object is required to embed the logo image while generating the QR code. The CreateQrCodeWithLogo method generates a QR code with a logo. This method is part of IronBarcode's comprehensive QR code generation features, which provide extensive customization options for developers.

using IronBarCode;
using IronSoftware.Drawing;

// Create QR code logo from file path
QRCodeLogo logo = new QRCodeLogo("ironbarcode_top.webp", 0, 0, 20f);

GeneratedBarcode QrCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250);

QrCodeWithLogo.SaveAsPng("QrCodeWLogo2.png");
QR code with colorful square logo embedded in center showing logo integration example

Let's examine the output QR code generated by the code above. The QR code features a logo in the center with rounded edges. The logo integration maintains the QR code's scannability while adding brand identity.

What Parameters Control Logo Appearance?

To customize the logo, fill in specific fields when creating a new QRCodeLogo object. Here are the required fields:

  • Importing Image: Import images from AnyBitmap, Stream, Byte Array, relative filepath, or URI. For optimal results, use high-resolution images in common formats like PNG, JPEG, or WebP.
  • Image Dimensions: Specify the desired width and height in pixels. If the image is too large for the QR code to remain readable, an exception will be thrown. Use 0 to automatically determine the largest viable size.
  • Image Corners: Set the radius for rounded corners. Use 0 for square corners. Rounded corners create a more professional appearance and better visual integration.

How Do I Export the Generated QR Code?

To export the generated QR code, invoke a save method. Export options include image files, Streams, HTML, and PDF. Learn more about exporting barcodes as different formats in our comprehensive guide. For web applications, you can also export barcodes as HTML for direct embedding in web pages.

How Can I Change the Color of My QR Code?

Besides adding logos, IronBarcode enables users to customize QR codes by changing their color. With IronDrawing, users can define colors using RGB values or Hex color codes and apply them to QR codes. This feature is particularly useful for maintaining brand consistency across marketing materials. Let's examine a code snippet demonstrating this feature and the resulting QR code.

using IronBarCode;
using IronSoftware.Drawing;

// Create QR code logo from file path
QRCodeLogo logo = new QRCodeLogo("ironbarcode_top.webp", 0, 0, 20f);

IronSoftware.Drawing.Color ColorFromRgb = new IronSoftware.Drawing.Color(51, 51, 153);

GeneratedBarcode QrCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250);
GeneratedBarcode QrCodeWithLogoAndColor = QrCodeWithLogo.ChangeBarCodeColor(ColorFromRgb);
QrCodeWithLogoAndColor.SaveAsPng("ColorQrCodeWithLogo.png");
Blue QR code with custom colorful logo in center showing successful color and logo customization

What Color Formats Are Supported?

The code above extends the previous example of creating QR codes with logos. It demonstrates changing QR code color using the ChangeBarCodeColor method, which takes an IronSoftware.Drawing.Color object as input. Create this object using RGB values, Hex codes, or predefined enums. Visit our "Create Color" code example to learn more. The color customization feature works seamlessly with all supported barcode formats.

When Should I Use Custom Colors?

Custom colors are particularly useful for:

  • Brand consistency: Matching QR codes to your company's visual identity
  • Campaign themes: Creating themed QR codes for special campaigns and events
  • Visual hierarchy: Using color to highlight important QR codes in print materials
  • Accessibility: Ensuring sufficient contrast for better scanning in various conditions

When selecting colors, maintain adequate contrast between the QR code pattern and background to ensure reliable scanning. Dark colors on light backgrounds typically work best.

How Do I Add Annotations to QR Codes?

Another important aspect of customizing QR codes is adding annotations within the QR code image. These annotations can be the barcode value itself or custom text for promotional purposes. Annotations help users understand what the QR code contains before scanning, improving user experience and engagement rates.

Let's examine the implementation of these methods and the resulting QR code image.

using IronBarCode;
using IronSoftware.Drawing;

// Create QR code logo from file path
QRCodeLogo logo = new QRCodeLogo("ironbarcode_top.webp", 0, 0, 20f);

// Define color from RGB
Color colorForBarcode = new Color(51, 51, 153);

GeneratedBarcode qrCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250);
GeneratedBarcode qrCodeWithLogoAndColor = qrCodeWithLogo.ChangeBarCodeColor(colorForBarcode);
GeneratedBarcode qrCodeWithAnnotation = qrCodeWithLogoAndColor.AddAnnotationTextAboveBarcode("IronBarcodeRocks!", 2).AddBarcodeValueTextBelowBarcode(2);
qrCodeWithAnnotation.SaveAsPng("QRCodeWithAnnotation.png");
QR code with IronBarcode logo annotation in center, demonstrating custom branding capabilities

What Annotation Methods Are Available?

IronBarcode provides methods for setting the annotation's position (above or below the QR code) as well as its font family and color. Available methods include:

  • AddAnnotationTextAboveBarcode: Adds annotation text above the QR code
  • AddAnnotationTextBelowBarcode: Adds annotation text below the QR code
  • AddBarcodeValueTextAboveBarcode: Adds barcode value text above the QR code
  • AddBarcodeValueTextBelowBarcode: Adds barcode value text below the QR code

These methods can be chained together for multiple annotations. For more advanced styling options, refer to our comprehensive barcode styling guide.

How Can I Customize Annotation Appearance?

All four methods accept a custom font as an IronSoftware.Drawing.Font object, color as an IronSoftware.Drawing.Color object, and an integer to specify the top and bottom spacing in pixels. These parameters are optional; if not specified, default font, color, and spacing will be used. The Font object supports various font families, styles (Bold, Italic, Regular), and sizes to match your branding requirements.

Why Use Annotations on QR Codes?

Annotations enhance QR codes by:

  • Providing context: Labels like "Scan for Menu" or "Visit Our Website" clarify purpose
  • Improving engagement: Clear calls-to-action increase scan rates
  • Building trust: Displaying the URL or company name helps users feel secure
  • Enhancing accessibility: Text annotations help users understand content without scanning

IronBarcode is an ideal tool for creating and customizing QR codes. Beyond the direct customization methods, IronBarcode uses IronDrawing as a helper library for image processing, providing more stability than depending on external libraries. For additional examples and advanced techniques, explore our C# QR Code Generator tutorial and API Reference for complete documentation of all available methods and properties.

Frequently Asked Questions

How can I add a logo to a QR code in C#?

You can add a logo to a QR code in C# using IronBarcode's `CreateQrCodeWithLogo` method. This allows you to embed a `QRCodeLogo` object, which includes specifying the image file path, logo dimensions, and corner radius for a customized appearance.

What method can I use to change the color of a QR code?

The `ChangeBarCodeColor` method in IronBarcode allows you to change the QR code's colors. You can define custom colors using RGB values or Hex codes to maintain brand consistency or enhance visual appeal.

Can I add annotations to my QR code? If so, how?

Yes, you can add annotations using IronBarcode's methods such as `AddAnnotationTextAboveBarcode` and `AddAnnotationTextBelowBarcode`. These methods let you include text above or below the QR code for added context or promotional purposes.

What are the benefits of using custom colors in QR codes?

Custom colors enhance QR codes by ensuring brand consistency, aligning with campaign themes, improving visual hierarchy, and providing better accessibility through sufficient contrast for scanning.

How do I export a customized QR code with IronBarcode?

To export a QR code with IronBarcode, you can use methods to save the QR code as image files, Streams, HTML, or PDF. This provides flexibility in embedding or distributing the QR code across different platforms.

What image formats are recommended when adding a logo to a QR code?

When adding a logo to a QR code, it is recommended to use high-resolution images in common formats like PNG, JPEG, or WebP for optimal results.

What parameters are needed to control the appearance of a logo in QR code?

To control logo appearance, specify the image import method, dimensions, and corners. The IronBarcode `QRCodeLogo` class allows input from file paths, streams, byte arrays, URIs, and offers customizable dimensions and corner radius.

How can I match QR codes to my brand's visual identity?

You can match QR codes to your brand's visual identity by using IronBarcode's color customization features, allowing you to define your brand's colors through RGB values or Hex codes for consistent branding.

Why might I want to use annotations on QR codes?

Annotations on QR codes provide context, improve user engagement with clear calls-to-action, build trust by displaying URLs or company names, and enhance accessibility by describing content without requiring a scan.

What library does IronBarcode use for image processing?

IronBarcode uses IronDrawing for image processing, which is a free open-source library provided by IronSoftware, offering stable image manipulation capabilities.

Ready to Get Started?

Nuget Downloads 2,422,100Version:2026.9just released

Get your FREE

30-day Trial Key instantly.

bullet_checkedNo credit card or account creation required
bullet_testTest in production
without watermarks
bullet_calendar30 days fully
functional product
bullet_support24/5 technical
support during trial
Get your free 30-day Trial Key instantly.
No credit card or account creation required
C# NuGet Library for PDF
Install with NuGet

Version: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. In Solution Explorer, right-click References, Manage NuGet Packages
  2. Select Browse and search "IronBarCode"
  3. Select the package and install
C# PDF DLL
Download DLL

Version: 2026.9

  1. Download and unzip IronBarCode to a location such as ~/Libs within your Solution directory
  2. In Visual Studio Solution Explorer, right click References. Select Browse, "IronBarCode.dll"

Licenses from $999

Key in blue circle

Get your free 30-day Trial Key instantly.

Your trial license will be sent to your email address

No limitations. 100% unlocked. No credit card.

bullet_checkedNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Book your free Live Demo
Booking Badge

Trusted by Millions of Engineers Worldwide

Iron Software's customer logos
Get Your No-Obligation Consult
Complete the form below or email sales@ironsoftware.com
Your details will always be kept confidential.
Trusted by Millions of Engineers Worldwide
Iron Software's customer logos
Get your free 30-day Trial Key instantly.
No credit card or account creation required