QR Code Barcode FAQ & Tutorial
QR Code Barcode Overview
Code is a very efficient, two-dimensional (2D) barcode symbology that
uses a small area of square modules with a unique perimeter pattern,
which helps the barcode scanner determine cell locations and decode
the QR Code symbol. Characters, numbers, text and actual bytes of data
may be encoded, including Unicode characters and images. IDAutomation's
implementation of QR Code is based on the ISO/IEC 18004:2006 standard.
Fig. 1. A 2D QR-Code Symbol Generated
QR-Code Image Generator
Common Uses of QR Codes
Codes are commonly used with smart-phone devices such as the iPhone,
Blackberry, Android and Windows 7 Phones to direct users to additional
information about a particular topic. These 2D barcodes can also be
used with social media hubs to perform an automated Facebook Like or
Twitter Follow Me, for example. Encoding VCARD contact information on
business cards is also a common implementation. The image to the right
demonstrates the options available after scanning the barcode in Fig
2 with the BeeTag iPhone app.
The chart below lists common uses and the encoding technique. The
QR Code Generator may be used to generate all codes described below.
Simply copy the example below into the
QR Code Generator replacing the generic information with yours.
Contact Information, in
||MECARD:N:Smith,John;ADR:550 N. Reo St.,Suite
|NOTE: Symbols created with
the MeCard format only work correctly when scanned with an app
that is MeCard compatible, such as the
Free BeeTag iPhone app.
QR Code may also be easily displayed on smart-phone devices in place
of anything that is normally printed with a barcode, such as coupons,
tickets and passes. When used in this way, the QR Code is displayed
on the screen via a website, email or text and scanned from the screen.
IDAutomation 2D USB Scanner quickly performs scans from mobile phone
screens as seen
in this video.
Generating and Printing QR Codes
IDAutomation offers a
QR Code Generator which can encode up to 200 characters. Capability
to encode more than 200 characters available in the product described
QR Code Barcode Font and Encoder is a collection of encoders and
components that generate QR Codes with fonts or graphics. Several types
QR Code encoders are available in the package to support multiple
operating systems including Windows, MAC, Unix and Linux.
QR Code is also offered in
Image Generator for Windows and the
Barcode Label Software.
QR Code Size and Accuracy
QR Codes are some of the
most dependable barcodes in use today. The QR Code symbology is
approximately 30 times smaller than a Code 39 barcode representing the
same data. QR Code is also a good choice when sending barcodes over
faxed documents, because the symbol can withstand many poor resolution
and scanning issues.
A quiet zone of four times the size of one module is required on
all sides of the QR Code symbol. The quiet zone should be the same color
as the background.
Verifying QR Code Barcodes
Printed QR Code barcode symbols may be easily verified with the Print
Quality Assessment test found in the
IDAutomation 2D Barcode Scanner. The quality assurance test will
grade the symbol and report any possible problems. The report below
was generated when scanning the symbol in Fig. 1
with PQA enabled:
>> PQA <<
QR CODE: MODEL 2 VERSION 2 (25 x 25 modules)
Mask Pattern Reference #7, Error Correction Level "L"
Data Field: 34 data & 10 checks in 1 block(s) of GF(256)
X roughly = 0.041"
[C] < Data Safety Margin = 46%
[A] < Horizontal Print Growth = +4% of X
[A] < Vertical Print Growth = +1% of X
Error Correction and Encoding Modes
Products such as the IDAutomation
Barcode Fonts and the
QR Code Components
all support the encoding modes listed below. By default, the encoding
mode for most components is "byte" and an error correction level of
M. If the choice is to encode text only and size is a concern, a change
of the encoding mode to Alpha-Numeric may produce a smaller symbol.
The data represented in the symbol may be encoded using one of the following
||Encodes lower case letters, text, images,
double-byte characters, binary data and 8 bit values.
||Encodes only numbers and uppercase letters.
In this encoding mode, lower case letters will be converted
to upper case. All other data will be filtered out.
||Encodes only numbers; all other data
will be ignored.
Four levels of Reed-Solomon error correction are referred to as L,
M, Q and H. The error correction levels allow verification of data and
recovery in the event that part of the symbol is damaged. Increasing
the error correction level increases the symbol size and reduces data
capacity. The percentage of recovery and capacity noted below are approximate.
% of Recovery
at Size 24
* The parameter selection is the parameter to use in IDAutomation's
Font and Encoder and other QR Code Components.
The version is the size of the symbol from (1) 21x21 to (40) 177x177.
Zero is the automatic selection and the default. If the symbol needs
to be larger than the selection, the component automatically overrides
Reading QR Code Barcodes
- The most common method of
reading printed QR Code barcodes is with a camera-based
(aka: barcode imager). Most of the hand-held barcode imagers
recommended by IDAutomation perform keyboard emulation and
receive power from the USB port so that no external power
supply is needed. When a QR Code barcode symbol is read
using keyboard emulation, the data appears at the cursor
as if it had been typed in from the keyboard.
- When reading QR Code barcodes from the screen of an
iPhone, Droid, Blackberry, Windows Phone or other mobile
device, it is necessary to use an advanced imager such as
IDAutomation 2D USB Scanner. Advanced 2D Imagers also
read from LCD and LED screens, as
in this video.
barcode imagers have the ability to read QR-Code barcodes
by default, such as the
and Hand Held Products Barcode Imagers. Many hand-held
imagers also read very small symbols, such as the
IDAutomation 2D Omni-Directional Scanner, which reliably
reads the IDAutomation
QR-Code Barcode Font when printed as small as 3 points,
which is an X-dimension of 10 mils.
- In many cases, it may be desired to have the scanner
trigger a form or action in an application. IDAutomation
has documented simple methods of accomplishing this task
USB Barcode Scanner Application Integration Guide.
Functions (such as Tabs and Returns)
- QR Code allows
codes to be easily encoded for various functions such
as tabs and returns. These functions are not usually visible
when scanned unless the
Scanner ASCII String Decoder is used with a scanner
that has lower ASCII capability such as the
Metrologic Focus, the
HHP 4600 Imager or
IDAutomation 2D Barcode Scanner with Control + ASCII mode
In all IDAutomation products, the tilde
(~) may be used to encode
functions according to the
documentation. For example;
~d009 is used to encode
a tab and ~d013 encodes
a return. In many development environments, Chr or Char
may also be used to encode the ASCII value directly. For
example, the programming examples below encode "ECC" <tab>
Java: DataToEncode= "ECC" +
(char)9 + "200";
Visual Basic: DataToEncode= "ECC" &
Chr(9) & "200"
Byte, Unicode & Extended ASCII
It is possible to scan and encode international and extended
characters provided the instructions below are followed:
- Encode the data using byte encoding.
- Scan the data via the serial interface option (data
bits have to be 8N) on the scanner. Normally, keyboard
wedges and USB scanners do not support extended characters
above ASCII 128, and only scan characters that are actually
on the keyboard. Contact the scanner vendor for more
information as some of the scanner's internal settings
may need to be changed.
Amount of Data Encoded
- It is recommended to limit the amount of data encoded
in each symbol to 800 characters or less if possible. The
ISO/IEC 18004 specifications state that up to 2900 bytes
and 4200 ASCII characters may be encoded in single symbol;
however, few imagers can dependably decode symbols that
large. The amount of data that can be encoded will vary
depending upon the type of data, the encoding mode and what
the scanner can read. In ASCII or text mode, the amount
of data that can be encoded is significantly decreased due
to mode switching between different types of characters,
such as between numbers, upper case, lower case and punctuation.
Most camera based imagers and hand-held scanners
have difficulty reading symbols that contain over 800 characters.
In the best case scenario, up to 1200 ASCII characters have
been successfully encoded and read by using the text encoding
mode of the IDAutomation
QR Code Barcode Font with the
IDAutomation 2D Barcode Scanner.
and use of Tilde
QR Code Barcode Fonts,
use the tilde character "~" to recognize special characters
when "Apply Tilde" or "Process Tilde" is enabled. The following
tilde options are available:
- ~dNNN: Represents the
ASCII character encoded by the 3 digits NNN.
- For example:
~d009 represents a tab,
~d013 represents a return and
~d065 represents the character 'A'.
License Required for Use?
- Denso Wave, Inc. invented the QR-Code symbology. A notice
on their website states that no license or royalty fees
are required for use provided that a proper copyright notice
is included that refers to Denso Wave, Inc. as the copyright
Back to Top