C# .NET Core QR Code Generator Library SDK

Integration & Developer Guide for QR Code 2D barcode image generation in C#/VB.NET ASP.NET Core

"This .NET Core SDK helps my team a lot, a bunch of time being saved. OnBarcode support is awesome, and we couldn't ask more than this."
- Bill Twain, Canada

Generate 2d barcode QR Code images in Visual C# .NET Core with sample C# source code

C# .NET Core QR-Code Generator Introduction
C# .NET Core QR Code Generator is one of the functions in OnBarcode's Barcode for .NET Core Generation Controls, which supports generating & printing QR Code and 20+ other linear & 2D bar codes for C# .NET Core applications.
OnBarcode C# .NET Core Barcode Generator makes it easy to generate, create QR Code and other linear & 2d barcodes in .NET Core web and windows projects. Here are some detailed tutorials for C# QR Code generation and data encoding, size & image setting.

QR Code Generator library, SDK & application

OnBarcode provides several QR Code Generator components and software, including QR Code .NET, QR Code Java, QR Code VB.NET, QR Code ASP.NET, QR Code iPhone, QR Code iPad, QR Code Android, QR Code Generator.
This document is providing a detailed C# source code about generating QR Code barcodes in .NET Core C# class using C# .NET Core Barcode Generate generation component.
Create QR-Code Barcodes in C# .NET Core

Creating QR-Code barcode in .NET Core C# class example:

   using System;
using System.Collections.Generic;
using System.Text;
using OnBarcode.Barcode;
using System.Drawing.Imaging;
using System.Drawing;

QRCode qrcode = new QRCode();

// Barcode data to encode
qrcode.Data = "ONBARCODE";
// QR-Code data mode
qrcode.DataMode = QRCodeDataMode.AlphaNumeric;
// QR-Code format mode
//qrcode.Version = QRCodeVersion.V10;

* Barcode Image Related Settings
// Unit of meature for all size related setting in the library.
qrcode.UOM = UnitOfMeasure.PIXEL;
// Bar module size (X), default is 3 pixel;
qrcode.X = 3;
// Barcode image left, right, top, bottom margins. Defaults are 0.
qrcode.LeftMargin = 0;
qrcode.RightMargin = 0;
qrcode.TopMargin = 0;
qrcode.BottomMargin = 0;
// Image resolution in dpi, default is 72 dpi.
qrcode.Resolution = 72;
// Created barcode orientation.
//4 options are: facing left, facing right, facing bottom, and facing top

qrcode.Rotate = Rotate.Rotate0;

// Generate QR-Code and encode barcode to gif format
qrcode.ImageFormat = System.Drawing.Imaging.ImageFormat.Gif;

You can also call other drawing methods to generate barcodes

public void drawBarcode(Graphics graphics);

public void drawBarcode(string filename);

public Bitmap drawBarcode();

public void drawBarcode(Stream stream);


Generate QR Code Barcode Image inside Specified Area (Width & Height)

To create qr code image inside your specified image width and height, please follow the steps

  • Set property AutoResize to true
  • Set property UOM (unit of measure) to CM or INCH
  • Set property Resolution (dot per inch) to the value, which is highter than your printer's resolution.
  • Set property BarcodeWidth and BarcodeHeight to your required image width and height.
  • Note: the barcode library will ignore the property X and Y values, and it will calculate the max X and Y for you.

Encode GS1 Standard QR Code Barcodes

To create GS1 standard QR-Code barcode, please follow the steps

  • Set property FNC1 to FNC1.FNC1_1ST_POS (1)
  • Set property Data GS1 data. You need around AI code with "()", and followed by AI data, such as "(01)23(02)5555". Here "01", "02" are the AI code, "23", "5555" are the AI data,

QR Code Property Settings & Methods
Category Properties Value Comments
Basic Property: Data
Type: string
Default: "QRCode"
Barcode value to encode.

QRCode Valid Data Char Set:

  • numeric data (digits 0 - 9);
  • alphanumeric data (digits 0 - 9; upper case letters A -Z; nine other characters: space, $ % * + - . / : );
  • byte data (default: ISO/IEC 8859-1);
  • Kanji characters

Property: ProcessTilde
Type: bool
Default: true
Set the ProcessTilde property to true, if you want use the tilde character "~" to specify special characters in the input data. Default is true.
  • 1-byte character: ~0dd/~1dd/~2dd (character value from 000 ~ 255); ASCII character '~' is presented by ~126
    Strings from "~256" to "~299" are unused
  • 2-byte character (Unicode): ~6ddddd (character value from 00000 ~ 65535)
    Strings from "~665536" to "~699999" are unused
  • for GS1 AI Code:
    ~ai2: AI with 2 digits
    ~ai3: AI with 3 digits
    ~ai4: AI with 4 digits
    ~ai5: AI with 5 digits
    ~ai6: AI with 6 digits
    ~ai7: AI with 7 digits
  • ECI: ~7dddddd (valid value of dddddd from 000000 to 999999)
  • SJIS: from ~9ddddd (Shift JIS 0x8140 ~ 0x9FFC and 0xE040 ~ 0xEBBF)
Property: DataMode
Type: QRCodeDataMode
Default: QRCodeDataMode.Auto (0)
  • QRCodeDataMode.Auto: It allows encoding all 256 possible 8-bit byte values. This includes all ASCII characters value from 0 to 127 inclusive and provides for international character set support
  • QRCodeDataMode.AlphaNumeric: It allows encoding alphanumeric data (digits 0 - 9; upper case letters A -Z; nine other characters: space, $ % * + - . / : ).
  • QRCodeDataMode.Byte: It allows encoding byte data (default: ISO/IEC 8859-1).
  • QRCodeDataMode.Numeric: It allows encoding numeric data (digits 0 - 9).
  • QRCodeDataMode.Kanji: It allows encoding Kanji characters.
Property: ECL
Type: QRCodeECL
Default: QRCodeECL.L (0)
QRCode Error Correction Level. Default is QRCodeECL.L (0).
  • QRCodeECL.L (0)
  • QRCodeECL.M (1)
  • QRCodeECL.Q (2)
  • QRCodeECL.H (3)
Property: FNC1
Type: FNC1

Default: FNC1.
To encode GS1 compatible QR-Code barcode, you need set FNC1 value to FNC1.FNC1_1ST_POS (1).
Property: StructuredAppend
Type: bool
Default: false
Set StructuredAppend property to true, then Structured Append is enabled.
Property: SymbolCount
Type: int
Default: 0
the number of total symbols which make the sequence.
Property: SymbolIndex
Type: int
Default: 0
the position of current symbol in the secuence (Start with 0).
Property: Parity
Type: int
Default: 0
Property: Version
Type: QRCodeVersion
Default: QRCodeVersion.V1 (1).
Valid values are from V1 to V40.
Property: AutoResize
Type: bool
Default: false
Auto resize the generated barcode image.
Property: BarAlignment
Type: int
Default: 1 (center)
Barcode horizontal alignment inside the image. 0: left, 1: center, 2: right.
Property: UOM
Type: UnitOfMeasure
Default: PIXEL (0)
Unit of meature for all size related settings in the library.

Valid values:
  • UnitOfMeasure.PIXEL (0)
  • UnitOfMeasure.CM (1)
  • UnitOfMeasure.INCH (2)
Property: X
Type: float
Default: 2
Barcode bar module width and height, default is 3 pixel.
Property: BarcodeWidth
Type: float
Default: 0.
Barcode image width.

If BarcodeWidth setting is smaller than the barcode required minimum width, the library will automatically reset to barcode minimum width.
Property: BarcodeHeight
Type: float
Default: 0.
Barcode image height.

If BarcodeHeight setting is smaller than the barcode required minimum height, the library will automatically reset to barcode minimum height.
Property: LeftMargin
Type: float
Default: 0.
Barcode image left margin size.
Property: RightMargin
Type: float
Default: 0.
Barcode image right margin size.
Property: TopMargin
Type: float
Default: 0.
Barcode image top margin size.
Property: BottomMargin
Type: float
Default: 0.
Barcode image bottom margin size.
Property: Resolution
Type: int
Default: 72.
Barcode image resolution in DPI (Dots per inch).
Property: Rotate
Type: Rotate
Default: Rotate.Rotate0 (0).
Valid values:

  • Rotate.Rotate0 (0)
  • Rotate.Rotate90 (1)
  • Rotate.Rotate180 (2)
  • Rotate.Rotate270 (3)
Property: BackColor
Type: Color
Default: white
Barcode image background color.
Property: ForeColor
Type: Color
Default: black
Barcode image foreground color.
In WebStream query string, please use int value for Enums, "true" and "false" for bool.

More .NET Core C#Barcode Generation Tutorials for Each Barcode

Barcode Control for C# .NET Core - Bar Code Type Generation

OnBarcode is a market-leading provider of barcode imaging generator, reader controls and components for ASP.NET, Windows Forms, WPF, as well Java, Android, iOS (iPhone, iPad) across all major enterprise development platforms. We provides comprehensive tutorials and how-tos for various linear, 2d barcode information, such as C# in ASP.NET, C# .NET, C# Barcode Encoding, C# Barcode Image, VB.NET in ASP.NET, VB.NET Winforms, VB.NET Barcode Encoding. OnBarcode barcode products are supported by RasterEdge ASP.NET Document Viewer, which supports ASP.NET PDF Viewer, ASP.NET MVC Document Viewer, ASP.NET PDF Editor, MVC PDF Viewer. And provide high quality C# Convert PDF to Tiff, C# Convert PDF to Word, C# Convert PDF to HTML, C# Convert PDF to Jpeg images, and their easy and simple documents, like C# PDF SDK, C# extract text from PDF, C# Compress PDF, Print PDF in C# and C# extract image from PDF.
Terms of Use | Privacy Policy
Copyright © OnBarcode.com . All rights reserved.