QR Code Introduction

This page talks about general information of the 2D barcode, QR Code (ISO/IEC 18004:2006).

Page Content

QR Code Overview

QR Code is a matrix barcode (or two-dimensional code), readable by QR scanners, mobile phones with a camera, and smartphones. It consists of black modules arranged in a square pattern on white background. The information encoded can be text, URL or other data. OnBarcode QR Code Generator Components are fully compatible with ISO/IEC 18004:2006.

How to generate, print barcode using .NET, Java sdk library control with example project source code free download:


QR Code Structure and Size

Each QR Code is a regular square array constructed of several nominally square modules, including an encoding region and function patterns, namely finder, separator, timing patterns, and alignment patterns. Function patterns cannot be used to encode data, and the QR Code symbol is surrounded by quiet zone on all four sides.

QR Code image has 40 Versions, ranging from Version 1 to Version 40. So, there are 40 sizes of QR Code in all and the size begins from 21 X 21 modules and up to 177 X 177 modules (not including quiet zone), increasing in steps of 4 modules per side. Please get details from QR Code size setting instruction.


QR Code Data Encoding

QR Code is capable of encoding the following characters:
  • 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; or other sets as otherwise defined);
  • Kanji characters. Kanji characters in QR Code 2005 can be compacted into 13 bits.

QR Code Data Characters per Symbol

Maximum QR Code symbol size, in Version 40 and error correction level (L):
  • numeric data: 7,089 characters
  • alphanumeric data: 4,296 characters
  • Byte data: 2,953 characters
  • Kanji data: 1,817 characters

QR Code Error Correction Level

Even though a QR Code image is partially dirty or damaged, the data encoded can be recovered. And its recovery depends on the amount of dirt or damage. Four levels of Reed-Solomon error correction are available to choose, allowing recovery of:
  • Level L 7%
  • Level M 15%
  • Level Q 25%
  • Level H 30%
of the QR Code symbol codewords.


QR Code Orientation Independence

QR Code is readable from any direction, both rotation and reflection. The position detection patterns at the three corners of the QR Code image guarantee stable high-speed reading, circumventing the negative effects of background interference.


Generating and Scanning QR Code Barcodes

OnBarcode provides comprehensive QR Code barcode generator and scanner components for Java, .NET, Android, iOS developments and several reporting applications.

QR Code Generator Components QR Code Scanner Components QR Code Generator & Scanner Software

Generating and Printing GS1 Compatible QR Code with AIs (Application Identifiers)

You can easily generate GS1 compatible QR Code barcodes using the above QR Code Generation Libraries by:
  • Set FNC1 property value to FNC1_Enable (1).
  • Set QR Code Data property value with GS1 AI (Application Identifier) codes and datas.
  • Use parentheses to indicate the AI codes.

For example, if you need to encode "Global Trade Item Number (GTIN)" and "Production Date" into a QR Code. You may set the property "Data" value to "(01)01234567891234(11)100130", in which:

1. "01" is Global Trade Item Number (GTIN) AI Code (Application Identifier Code).
2. "01234567891234" is your GTIN AI Data.
3. "11" is Production Date AI Code.
4. 100130" is your Production Date AI Data (produced in Jan 30, 2010).


Encoding ISO-8859-1 Chars and ASCII Control Functions in QR Code Barcodes

QR Code default encoding character set is the ISO 8859-1 standard (the first 128 chars are standard ASCII chars). You can easily encode ISO 8859-1 chars and ASCII control functions into a QR Code symbol.

To encode some non-printable ISO-8859-1 chars and ASCII control functions, you need do the following steps using our QR Code Generation Controls.
  • Set QR Code property DataMode value to Auto (including all ASCII).
  • Set QR Code property ProcessTilde value to True.
  • Use tilde "~ddd" (ddd is from 000 to 255 for 256 ISO-8859-1 (Latin 1)) to encode chars and control functions.

For example, if you want to encode value "QR<carriage return>Code", you should set QR Code property Data value to "QR~013Code", in which:

1. "013" represents the carriage return.


Encoding Unicode and International Character Sets

Instead of encoding ISO 8859-1 standard chars, QR Code allows you to switch to other encoding characters (e.g. Arabic, Cyrillic, Greek, Hebrew) through ECI (Extended Channel Interpretations).

To encode Unicode and International Character Sets, you are supposed to do the following steps using our QR Code Generation Components.
  • Set QR Code property DataMode value to Auto (including all ASCII).
  • Set QR Code property ProcessTilde value to True.
  • Use tilde "~6dddddd" (dddddd is from 00000 ~ 65535) for 2-byte chars.

You need to use ECI to switch to your encoding character set, the default character set in QR Code is ISO 8859-1 (ECI value is 000003).


QR Code Encoding Kanji Character Set

The QR-Code Kanji mode efficiently encodes Kanji characters in accordance with the Shift JIS system based on JIS X 0208. The Shift JIS values are shifted from the JIS X 0208 values. JIS X 0208 gives details of the shift coded representation. Each two-byte character value is compacted to a 13-bit binary codeword.

To encode Kanji Character Set (Shift JIS), you need do the following steps using our QR Code Generation Components.
  • Set QR Code property DataMode value to Kanji.
  • Set QR Code property ProcessTilde value to True.
  • Use tilde "~9ddddd" ((Shift JIS 0x8140 ~ 0x9FFC and 0xE040 ~ 0xEBBF)) for 2-byte chars.

QR Code Extended Channel Interpretations (ECIs)

ECI enables QR Code encode multiple character sets (e.g. Arabic, Cyrillic, Greek, Hebrew) and other data interpretations or industry specific requirements to be represented, into one QR Code symbol.

The ECI is identified by a 6-digit number which is encoded in the QR Code symbol by the ECI character followed by one to three codewords.

The default ECI is the ECI 000003 which describes the Latin alphabet according to the ISO 8859-1 standard (standard ASCII table).

International applications using other character sets should use the ECI protocol. For instance, the interpretation corresponding to the JIS8 and Shift JIS character sets is ECI 000020. (To encode kanji code, we recommend you apply Kanji Mode in QR Code)

You can have multiple ECIs (to encode multiple character sets) in your single QR Code symbol.

To encode ECIs in QR Code symbol, you should do the following steps using OnBarcode's QR Code Generation Libraries.
  • Set QR Code property ProcessTilde value to True.
  • Insert ECI "~7dddddd" into your QR Code encoding data, to switch to another character set, and followed by your new character set data.

QR Code Structured Append

You can append up to 16 QR Code 2005 symbols in a structured format.

To encode Structured Append in QR Code symbols, you need do the following steps using OnBarcode's QR Code Generation Controls.
  • Set QR Code property StructuredAppend value to True.
  • Set QR Code property SymbolCount value to the count of QR Code Structured Append symbols.
  • Set QR Code property SymbolIndex value to indicate the position of the QR Code symbol in the same group of all Structured Append symbols. Starting with 1.
  • Set QR Code property Parity value to be identified to the same group of QR Code Structured Append symbols. Starting with 1.

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, Paint QR Bar Code in Java, Print QR Code in Software. 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.