Difference between revisions of "QR CODE"

From MaxCard
Jump to: navigation, search
(QR Code Error Correction)
 
(29 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==  What's A QR Code?  ==
 
==  What's A QR Code?  ==
  
Това са кодове, много подобни на баркодовете, които сте виждали на почти всеки закупен продукт. Основната разлика между QR Кодовете и традиционните такива, е че на тях може да се съхранява много пъти повече информация в много по-малка площ - QR Кодовете  съхраняват данни в 2 измерения а не в едноЕто някои от предимствата  им:
+
They are barcodes, very similar to the barcodes you’ve seen on almost every product you've bought. The main different between QR Codes and traditional barcodes, is that QR Codes can store many times more data in a much smaller area due to their ability to store data in 2 dimensions rather than 1To name a few of QR Codes benifts:  
  
  - Голям капацитет
+
  - High Capacity
  - Изискват по-малко пространство
+
  - Require Less Space
  - Устойчиви на замърсяване и щети
+
  - Dirst And Damage Resistant
  - Четими от всяка посока
+
  - Readable From Any Direction
  
  
През последните  години QR кодовете стават все по-популярни в света. Това се дължи главно на факта, че са  лесни за сканиране, както и за генериране. QR кодове се появяват навсякъде и днес те могат да бъдат намерени в списания, вестници, опаковки за храни и на билбордове. Те са гъвкави, евтини за създаване и обхвата на използването им  е много голям. Целта на QR кода е бързо и лесно да получите данни от печатна информация в цифров носител, като например баркод скенер или вашия смартфон. Съвместимостта е ключов фактор за повишаване на популярността им - можете да прочетете QR Код с всеки смартфон с камера.
+
They started out very popular in the East but over the last 3 years have become ever more popular worldwide, this has been driven mainly by the fact they are so easy to scan as well as create.  QR Codes are popping up everywhere and today they can be found in magazines, newspapers, product packaging and  billboards. They are flexible, very cheap to create and the scope of use is very large. The purpose of a QR Code is to quickly and easily get data from a printed medium to a digital medium such as  your smartphone. Compatibility is key to their rising popularity.
 
+
  
 
== Make Your Own QR Code  ==
 
== Make Your Own QR Code  ==
  
Този генератор на  QR Код е създаден от проекта Zxing и е свободен за ползване направо от сайта им.
+
The QR Code generator in the link below has been created by the Zxing project and is free to use via their website.  
  
  [http://zxing.appspot.com/generator Моля, отделете време да посетите техният генератор на QR Код]
+
  [http://zxing.appspot.com/generator Please take the time to visit their homepage]
  
 
== Some Examples Of QR Codes ==
 
== Some Examples Of QR Codes ==
  
QR Кодовете съхраняват много различни типове данни и с невъоръжено око не може да се определи какъв тип данни е записан. QR Код скенерите обработват тези  данни по различен начин въз основа на вида им. Тази страница съдържа примери за някои от най-често срещаните видове данни, които можете да пробвате на вашия QR Код скенер.
+
QR Codes hold many different types of data, with the naked eye you can’t tell what type of data a QR Code holds.QR Code scanner will process data differently based on its data type. This page contains examples of some of the more common data types which you can test on your Smartphone.
Ще забележите, че различните типове данни се държат по различен начин, например ако кодът съдържа URL, скенерът е в състояние да стартира вашия браузър с това URL. Ако съдържа данни за контакт можете да ги запишете директно на вашата адресна книга. Тази гъвкавост предлага разнообразие от начини за използване на QR кодове.
+
You will notice that the different types of data behave in different ways. For example if the code contains a URL, the scanner is able to launch your browser with that URL, if it contains contact details then it can save them directly to your address book. This versatility offers a variety of uses for QR Codes.
  
<gallery widths=230px heights=230px caption="Примери за QR Кодове с различни типове данни">
+
<gallery widths=230px heights=230px caption="Some Examples Of QR Codes">
  
File:Calendar.png |Събитие за календар
+
File:Calendar.png |Calendar Events
File:contact.png |Информация за контакт
+
File:contact.png |Contact Information
File:email.png |Електронна поща
+
File:email.png |Email Address
File:GeoLocation.png |Географско местоположение(Адрес)
+
File:GeoLocation.png |Geo Location
File:Phone.png |Телефон
+
File:Phone.png |Phone Number
File:Sms.png |Форма за изпращане на СМС
+
File:Sms.png |SMS
File:Text.png |Свободен текст
+
File:Text.png |Text
File:Url.png |Интернет адрес
+
File:Url.png |URL
File:Wifi.png |Данни и парола за достъп до безжична мрежа
+
File:Wifi.png |WiFi
  
 
</gallery>
 
</gallery>
Line 39: Line 38:
 
== QR Code Design ==
 
== QR Code Design ==
  
Когато създавате QR Код не е задължително, той да бъде просто мрежа от черни и бели квадрати за да се работи. Можете да използвате няколко цвята, може да се възползвате и от техниките за корекция на грешки и да вграждате изображения в кода.
+
When you're creating a QR Code, you don't just have a grid of black and white squares to work with. You can use multiple colours and can also take advantage of error correction techniques built into the specification to embed images.
Оригиналният вид на  QR Кода гарантира, че от милионите QR кодове хората ще забележат и отделят време  да сканират вашия.
+
Making your QR Code original, ensures that of the millions of QR Codes out there, people notice and take the time to scan yours.  
Изображения и лога могат да бъдат показани в рамките на QR кодове благодарение на вграденото коригиране на грешки. Корекцията на грешка дава възможност  до 30% от един QR код да бъде корумпиран и да продължава да се чете. Това означава, че можете да използвате до 30% от площта  да включва вашето лого и оригинален дизайн.
+
The reason images and logos can be displayed within QR Codes is mainly down to the built in error correction. The error correction allows up to 30% of a QR Codes to be corrupt while still remaining readable to a barcode reader. This means that you can use up to 30% of the QR Codes surface area to include your logo and designs.
  
<gallery widths=230px heights=230px caption="QR Код дизайн">
+
<gallery widths=230px heights=230px caption="QR Code Design">
  
 
File:Unitag.png
 
File:Unitag.png
Line 51: Line 50:
 
</gallery>
 
</gallery>
  
<gallery widths=150px heights=150px caption="Примери">
+
<gallery widths=150px heights=150px caption="Samples">
  
 
File:1_LV.png |link=http://www.maxcard.bg/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Unitag_QRCode_1441885025106.png
 
File:1_LV.png |link=http://www.maxcard.bg/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Unitag_QRCode_1441885025106.png
Line 78: Line 77:
 
==  How Much Data Can A QR Code Store?  ==
 
==  How Much Data Can A QR Code Store?  ==
  
За разлика от традиционните баркодове QR кодовете са в 2 измерения, което им позволява да съхраняват много повече данни. Максималният размер на данните, които  QR Кода може да съхранява е 3KB.
+
Unlike traditional barcodes, QR Codes are 2 dimensional allowing them to store a lot more data. The maximum amount of data a QR Code can store is 3Kb.
QR Кода е направен от множество редове и колони. Всеки QR Код може да съдържа до 177 колони и 177 реда. Те се виждат с невъоръжено око, като малки квадрати. Комбинацията от 177 колони и редове позволява общо 31,329 квадрати. Подреждането на тези квадрати в различни конфигурации, позволява да се съхраняват данните.
+
A QR Code is made of up multiple rows and columns. These are seen by the naked eye as small squares, the combination of 177 columns and rows allows for a total of 31,329 squares. It's the arrangement of those squares in varying configurations that are able to store the data.
  
 
<gallery widths=230px heights=230px >
 
<gallery widths=230px heights=230px >
Line 87: Line 86:
 
</gallery>
 
</gallery>
  
31,329 квадрата не са задължителни за всеки отделен код. Когато един код се създава генераторът определя размера на данните, които е необходимо да се съхраняват и следователно броя на редовете и колоните, необходими за кодиране на данните. Ако QR Кода съдържа повече данни, тогава ще изглежда по-плътен (повече и като цяло по-малки квадрати). По същата причина включване на Корекция на грешките в  рамките на QR Код увеличава количеството на данните, съхранявани в един Код. Ето някои примери:
+
There are not 31,329 squares in every code. When a code is being created the generator determines the amount of data it needs to store and therefore the number of rows and columns needed to encode that data. If a QR Code contains more data, then you will generally find that it looks more dense(more squares and smaller squares). Similarly, turning on Error Correction within a QR Code increases the amount of data stored in a code and therefore the density. Here are some examples:
  
 
<gallery widths=230px heights=230px >
 
<gallery widths=230px heights=230px >
  
File:LittleData.png |Малко информация
+
File:LittleData.png |A Little Bit Of Information
File:LoadsOfData.png |Повече информация
+
File:LoadsOfData.png |More Info
File:LittleDataEC.png |Малко информация с Корекция на грешките
+
File:LittleDataEC.png |Little Information With Error Correction
  
 
</gallery>
 
</gallery>
  
В допълнение към съхранението  на полезна информация, кодът трябва да съхранява и служебна информация за  позициониране, синхронизация, подравняване, формат, корекция на грешките и версия на съхранените данни. Това е  гаранция, че QR Кодът може да се чете лесно и от широка гама скенери. Всичко това е вградено в конструкцията на QR кода и само наличието на корекция на грешки,  трябва да се изважда от наличните 3KB. Погрешно схващане, е че при увеличаване на повърхностната площ на кода  ще може да се включат повече данни. Това не е вярно, тъй като увеличаването на площта на кода  няма да позволи да има повече от 177 колони и редове.
+
In addition to storing the intended content of the QR Code, the code must also store positioning, timing, alignment, format, error correct and version data to ensure it can be read easily by a wide range of scanners. Thankfully this is all built into the design of the QR Code and its only error correction that will subtract from the available 3Kb. It’s a common misconception that adjusting the surface area of a code will allow you to include more data. This isn’t true as increasing the surface area of your code will not allow you to have more than 177 columns and rows and so simply stretches the code.
 
+
  
 
== How Many Characters / Digits Can A QR Code Store?  ==
 
== How Many Characters / Digits Can A QR Code Store?  ==
  
Знаем, че QR кодовете  съхраняват данни (до 3KB), но как те се превръщат в символи като цифри или текст?
+
So we know that QR Codes store data up to 3Kb, but how does that translate into characters such as digits or text?  
Когато QR кода се създадава, потребителят избира кодиране, което трябва да се използва и определя вида на данните, които ще се съхранява на кода. Избраният тип данни и кодиране има голямо влияние върху броя на символите, които могат да се съхраняват.
+
When a QR Code is created, the user chose the encoding that is to be used and sets the type of data that the code will store. The chosen data type and encoding has a big impact on the number of characters that can be stored.
Като пример, ако ви се налага да се създаде QR Код само с цифрови данни, тогава ще имате възможност да се кодирате до 7089 знака.
+
As an example, if you were to create a QR Code that was only to contain alphanumeric data, then you would have the ability to encode up to 4296 characters.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 119: Line 117:
 
|}
 
|}
  
Ако ви се налага да се създаде QR Код за съхранение на  буквено-цифрови данни, тогава броят на знаците, които би могъл да съхранявате ще намалее до 4296, като резултат от различния тип кодиране, които ще бъдат използван.
+
If you were to create a QR Code that would store binary data, then the number of characters you could store would reduce to 2953 as a result of the different type of encoding that would be used.
Тази таблица показва максималния размер за съхранение на всеки тип данни.  
+
This table details the maximum amount of data for each data type.  
Може да се използват всичките 3 кб за съхранение на данни, но когато се използват и корекции на грешките вместимостта може да спадне с до 30%
+
These figures do assume that you’re able to use up all 3Kb of available space within your code, once you start to enable error correction at its various levels, it can reduce that amount of data that can be stored by up to 30%.
 
+
  
 
==  Does a QR Code Have To Be Black And White? ==
 
==  Does a QR Code Have To Be Black And White? ==
  
  
Въпреки че повечето QR кодове са черни, това не е задължително. QR Кодът може да бъде във всеки цвят и дори може да включва повече от 2 различни цвята. Ето 2 примера на цветни QR кодове:
+
Although most QR Codes are black and while, they don't necessarily have to be this way. A QR Code can be any colour and can even include more than 2 different colours. There's examples of coloured QR Codes below.
  
 
<gallery widths=230px heights=230px >
 
<gallery widths=230px heights=230px >
Line 136: Line 133:
 
</gallery>
 
</gallery>
  
Всяки QR код се състои от 2 вида малки квадрати. Това е най-видимо, когато погледнете QR Кода в черно и бяло. Можем да  наречем черните квадратчета " квадрати на преден план " и бели квадратчета "фонови квадрати". Когато се използват различни цветове, това също  гарантира, че всички квадрати на преден план са лесно различими от фоновите квадрати. Това означава, че вашят баркод четец няма да има затруднения при четене на предния и заден план.
+
Each QR Code is made of 2 types of small squares. This is most visible when looking at a black and while QR Code where squares are either black or white. For the purposes of this explanation, let’s call the black squares "foreground squares" and the white squares "background squares". While the image uses a variety of colours in order to stand out, it also ensures that all the colours used on the foreground squares are easily distinguishable from those used on the background squares. This means that your barcode reader won’t have any difficulty in picking up the foreground and background squares.  
Само чрез добавяне на цвят и малко интелигентен дизайн, може да се създадат много интересни QR кодове.
+
Just by adding colour and a bit of design, designers have created some very interesting QR Codes.
  
 
==  Can QR Codes Be Inverted Or Mirrored? ==
 
==  Can QR Codes Be Inverted Or Mirrored? ==
  
Един от най-често задаваните въпроси за QR кодовете е дали могат да се завъртят огледално и да  работят. Накратко отговорът е НЕ. Баркод четците не е са в състояние да декодират огледално изображение и да прочетат данните.
+
One of the most common questions asked about QR Codes is can they be rotated or mirrored and still work. In short the answer is No. Mirroring a QR Codes or inverting it will prevent barcode readers from being able to decode the image and pull the data from within.
  
 
==  Can a QR Code Be Rotated?  ==  
 
==  Can a QR Code Be Rotated?  ==  
  
Да, QR Кода е многопосочен и може  да бъдат гледан / сканиран във всяка позиция. Модели за откриване на позиция помагат на скенера да идентифицира правилния начин и да прочете изображението. Примерът е един и същи код завърта в различни ъгли.
+
Yes, A QR Code is omnidirectional and can be viewed / scanned any way around. Position detection patterns (Finder Patterns) help the scanner identify the correct way to read the image. This example is the same code in different rotated angles.
  
 
<gallery widths=230px heights=230px >
 
<gallery widths=230px heights=230px >
Line 156: Line 153:
 
</gallery>
 
</gallery>
  
Всеки QR Code има 3 модела за откриване на позиция, които могат да се разглеждат като големи квадратни рамки с по-малък плътен квадрат в тях. Те са разположени в трите края на QR кода. Четвъртия ъгъл не разполага с модел за откриване на позиция, вместо това има модел за подравняване. Този модел за подравняване позволява на скенера да  определи правилната позиция  за обработка на изображението (модела заподравняване винаги е в долния десен ъгъл). Това  позволява на скенера  ефективно да отмени всякакво завъртане.
+
Each QR Code has 3 finder patterns that can be seen as large squares with a smaller solid square within. They are located in 3 corners of the QR Code. The 4th corner doesn't have a finder pattern and instead has an alignment pattern. This setup allows the scanner to determine the correct way to process the image (the corner with the alignment pattern is always the bottom right corner) allowing the scanner to effectively undo any rotation.
 
+
  
 
==  How Secure is a QR Code?  ==
 
==  How Secure is a QR Code?  ==
  
Предвид това калко основен и опростен е  един QR Код би могло да се предположи, че няма риск за сигурността на потребителя. Но има  някои области, в които QR кодът може да представляват риск за вашата сигурност и безопасност.
+
It would be easy to assume because of how basic a QR Code is, that few security concerns exist. There are however some areas in which QR Codes can pose a risk to your security.
QR кодове са малки безвредни модели отпечатани върху повърхност (билборд, плакат и т.н.) и целта им е само да ви помогнат да получите данни от печатна информация в цифров носител. Те не могат лесно да се четат с невъоръжено око, така че е особено трудно да се манипулират след отпечатването им.
+
QR Codes are small harmless patterns printed onto a surface and their intent is only to help you get data from a printed medium to a digital medium. They cannot easily be read with the naked eye so they are particularly difficult to manipulate after publications.  
Предвид, че тяхната употреба е най-вече  за да се предоставят удобно на потребителя малки откъси от информация се предполага, че никой не би се интересувал от тях да ги променя или прави опасни.
+
It would also expect that given their use is mostly to provide the user with a small snippets of information conveniently, that nobody would be interested in altering them or making them malicious?
Но има няколко причини и неща, които трябва да се имат в предвид.
+
Well there are a couple of reasons and things to keep in mind.
Първата и най-вероятно основната причина ще бъде така наречения - фишинг. Фишингът не е ограничен само до имейли, вируси или троянски коне. В действителност с помощта на QR кодове, нищо неподозиращите потребители могат да бъдат насочени към опасни адреси в интернет и др. Данни за контакт в рамките на код могат да бъдат променени така, че да предизвика потребителите да се обадят или изпратят СМС на  платен номер.
+
The first and probably main reason would be phishing. Phishing isn't just limited to e-mails, viruses or Trojans. In fact, using QR codes, unsuspecting users can be directed to malicious internet addresses and more. Contact details within the code can be modified so as to cause users to call or send SMS to a paid number.
 
+
  
 
==  What Are The Different Sections In A QR Code?  ==
 
==  What Are The Different Sections In A QR Code?  ==
  
QR кодовете са разделени на различни секции и скенерите използват тези секции за декодиране на данните. По-долу е описана всяка секция.
+
QR Codes are split into various sections and it’s these sections that the scanners use to decode the data. Below is a separation of each section.
Изображението по-долу е стандартен текст базиран QR Код. Ако сканирате кода трябва да се декодира като текст и просто ще включва текста "Sample QR Code".
+
The image below is a standard text based QR Code. If you scan the code it should be decoded as text and will simply include the text "Sample QR Code".
  
 
[[File:QRcodeSec.PNG|thumb|240px| Sample QR Code]]
 
[[File:QRcodeSec.PNG|thumb|240px| Sample QR Code]]
  
*Раздел 1 – Модул за откриване на позиция - състои се от три идентични структури, които се намират във трите ъгъла  на QR кода, с изключение на  долния десен ъгъл. Всеки модел се основава на 3x3 матрица от черни модули, заобиколени от бели модули, заобиколени от черни модули. Моделите за откриване на позиция позволяват софтуера да разпознае QR кода и да определи правилната му ориентация.
+
*Section 1 - Finder PatternThe finder pattern consists of three identical structures that are located in all corners of the QR Code except the bottom right corner. Each pattern is based on a 3x3 matrix of black modules surrounded by white modules that are again surrounded by black modules. The Finder Patterns enable the decoder software to recognize the QR Code and determine the correct orientation.  
*Раздел 2 – Разделители - Бели сепаратори с ширина от един пиксел служат за подобряване на разпознаваемост на Моделите за откриване на позиция, отделяйки ги от действителните данни. Те обикновено са бели
+
*Section 2 - SeparatorsThe white separators have a width of one pixel and improve the recognizability of the Finder Patters as they separate them from the actual data. They are generally always white.
*Раздел 3 – Синхронизиращ модул -редуващите се черни и бели квадрати в синхронизиращия модул дават възможност на софтуера да определи  ширината на един модул.
+
*Section 3 - Timing PatternAlternating black and white modules in the Timing Pattern enable the decoder software to determine the width of a single module.  
*Раздел 4 – Подравняващ модул - помага на софтуера да компенсира умерени изкривявания на изображението . С нарастването на размера на кода, се добавят нови Подравняващи модули.  
+
*Section 4 - Alignment PatternsAlignment Patterns support the decoder software in compensating for moderate image distortions. Version 1 QR Codes do not have Alignment Patterns. With growing size of the code, more Alignment Patterns are added.
*Раздел 5 – Формат на  информацията - състои се от 15 бита до сепараторите и съхранява информация за нивото на корекция на грешката на QR кода и избрания модел на маскиране.
+
*Section 5 - Format InformationThe Formation Information section consists of 15 bits next to the separators and stores information about the error correction level of the QR Code and the chosen masking pattern.  
*Раздел 6 – Данни - данните се конвертират в битов поток и след това се съхраняват в 8-битови части (наречени кодови думи) в раздела за данни.
+
*Section 6 - DataData is converted into a bit stream and then stored in 8 bit parts (called code words) in the data section.  
*Раздел 7 – Корекция на грешките - подобно на секцията за данни, кодовете за коригиране на грешки се съхраняват в дълги 8 бита части в раздела за отстраняване на грешки.  
+
*Section 7 - Error CorrectionSimilar to the data section, error correction codes are stored in 8 bit long code- words in the error correction section.
*Раздел 8 – Остатъчни битове – тази секция се състои от празни битове в случай, че Данните и Корекцията на грешки  не могат да бъдат разделени в 8-битови кодови думи без остатък.
+
*Section 8 - Remainder BitsThis section consists of empty bits if data and error correction bits can not be divided into 8 bit code words without remainder.
 
+
 
+
  
  
Line 191: Line 184:
 
==  QR Code Error Correction  ==
 
==  QR Code Error Correction  ==
  
Корекцията на грешки може да гарантира, че QR Кода остава четим, когато до 30% от него е корумпиран.Корекцията на грешки не винаги е включена. Когато един код се генерира потребителя решава дали иска корекцията на грешки да бъде включена. Има 4 различни настройки за корекция на грешките. Колкото е по-високо нивото на коригиране на грешки в кода остава по-малко пространство за съхранение на данни.Има случаи, когато корекцията на грешки си струва да жертвате пространството за съхранение и случаи, когато това не е така. За пример е визитната картичка, където най-вероятно не е нужно да съхранявате много подробности, но картата може да се повреди или намокри, преди получателят да е имал възможност да сканира кода. От друга страна, ако се създаде код, който ще бъде показван само цифрово(това е малко вероятно) съдържанието на кода няма как да се повреди и не е необходимо коригиране на грешки. Както споменахме по рано има 4 различни нива на корекция на грешката. Това са: L (до 7% щети) M (до 15% щети) Q (до 25% увреждане) H (до 30% щети). Корекцията на грешки се постига с помощта на "Reed-Solomon Error Correction" Това е математически алгоритъм за бекъп на съхранената информация.
+
Error correction can ensure that a QR Code remains readable when as much as 30% of the code is corrupt. Error Correction isn't always enabled. When a code is being created, it’s a decision  to the users to specify if they want error correction to be enabled. There are 4 different settings. The higher the level of error correction built into the code, the less space there is for data to be stored. There are times when error correction is worth sacrificing storage space and times when it isn’t. For example, on a business card when you likely don’t need to store lots of detail, but where the card could become damaged or wet before the recipient has had a chance to scan it, the error correction could help. On the other hand, if you’re creating a code that will only be displayed digitally, the content of the code will not be damaged  so error correction isn’t really needed. There are 4 different levels of error correction. These are: L[ow] (up to 7% damage) M[edium] (up to 15% damage) Q[uality](up to 25% damage) H[igh] (up to 30% damage). This error correction is achieved using "Reed-Solomon Error Correction" which in a very complex way is able to mathematically build in the backup data.

Latest revision as of 12:27, 8 October 2015

What's A QR Code?

They are barcodes, very similar to the barcodes you’ve seen on almost every product you've bought. The main different between QR Codes and traditional barcodes, is that QR Codes can store many times more data in a much smaller area due to their ability to store data in 2 dimensions rather than 1. To name a few of QR Codes benifts:

- High Capacity
- Require Less Space
- Dirst And Damage Resistant
- Readable From Any Direction


They started out very popular in the East but over the last 3 years have become ever more popular worldwide, this has been driven mainly by the fact they are so easy to scan as well as create. QR Codes are popping up everywhere and today they can be found in magazines, newspapers, product packaging and billboards. They are flexible, very cheap to create and the scope of use is very large. The purpose of a QR Code is to quickly and easily get data from a printed medium to a digital medium such as your smartphone. Compatibility is key to their rising popularity.

Make Your Own QR Code

The QR Code generator in the link below has been created by the Zxing project and is free to use via their website.

Please take the time to visit their homepage

Some Examples Of QR Codes

QR Codes hold many different types of data, with the naked eye you can’t tell what type of data a QR Code holds.QR Code scanner will process data differently based on its data type. This page contains examples of some of the more common data types which you can test on your Smartphone. You will notice that the different types of data behave in different ways. For example if the code contains a URL, the scanner is able to launch your browser with that URL, if it contains contact details then it can save them directly to your address book. This versatility offers a variety of uses for QR Codes.

QR Code Design

When you're creating a QR Code, you don't just have a grid of black and white squares to work with. You can use multiple colours and can also take advantage of error correction techniques built into the specification to embed images. Making your QR Code original, ensures that of the millions of QR Codes out there, people notice and take the time to scan yours. The reason images and logos can be displayed within QR Codes is mainly down to the built in error correction. The error correction allows up to 30% of a QR Codes to be corrupt while still remaining readable to a barcode reader. This means that you can use up to 30% of the QR Codes surface area to include your logo and designs.

How Much Data Can A QR Code Store?

Unlike traditional barcodes, QR Codes are 2 dimensional allowing them to store a lot more data. The maximum amount of data a QR Code can store is 3Kb. A QR Code is made of up multiple rows and columns. These are seen by the naked eye as small squares, the combination of 177 columns and rows allows for a total of 31,329 squares. It's the arrangement of those squares in varying configurations that are able to store the data.

There are not 31,329 squares in every code. When a code is being created the generator determines the amount of data it needs to store and therefore the number of rows and columns needed to encode that data. If a QR Code contains more data, then you will generally find that it looks more dense(more squares and smaller squares). Similarly, turning on Error Correction within a QR Code increases the amount of data stored in a code and therefore the density. Here are some examples:

In addition to storing the intended content of the QR Code, the code must also store positioning, timing, alignment, format, error correct and version data to ensure it can be read easily by a wide range of scanners. Thankfully this is all built into the design of the QR Code and its only error correction that will subtract from the available 3Kb. It’s a common misconception that adjusting the surface area of a code will allow you to include more data. This isn’t true as increasing the surface area of your code will not allow you to have more than 177 columns and rows and so simply stretches the code.

How Many Characters / Digits Can A QR Code Store?

So we know that QR Codes store data up to 3Kb, but how does that translate into characters such as digits or text? When a QR Code is created, the user chose the encoding that is to be used and sets the type of data that the code will store. The chosen data type and encoding has a big impact on the number of characters that can be stored. As an example, if you were to create a QR Code that was only to contain alphanumeric data, then you would have the ability to encode up to 4296 characters.

QR Code Data Capacity
Numeric Only Maximum 7089 characters
Alphanumeric Maximum 4296 characters
Binary(8 bits) Maximum 2953 bytes

If you were to create a QR Code that would store binary data, then the number of characters you could store would reduce to 2953 as a result of the different type of encoding that would be used. This table details the maximum amount of data for each data type. These figures do assume that you’re able to use up all 3Kb of available space within your code, once you start to enable error correction at its various levels, it can reduce that amount of data that can be stored by up to 30%.

Does a QR Code Have To Be Black And White?

Although most QR Codes are black and while, they don't necessarily have to be this way. A QR Code can be any colour and can even include more than 2 different colours. There's examples of coloured QR Codes below.

Each QR Code is made of 2 types of small squares. This is most visible when looking at a black and while QR Code where squares are either black or white. For the purposes of this explanation, let’s call the black squares "foreground squares" and the white squares "background squares". While the image uses a variety of colours in order to stand out, it also ensures that all the colours used on the foreground squares are easily distinguishable from those used on the background squares. This means that your barcode reader won’t have any difficulty in picking up the foreground and background squares. Just by adding colour and a bit of design, designers have created some very interesting QR Codes.

Can QR Codes Be Inverted Or Mirrored?

One of the most common questions asked about QR Codes is can they be rotated or mirrored and still work. In short the answer is No. Mirroring a QR Codes or inverting it will prevent barcode readers from being able to decode the image and pull the data from within.

Can a QR Code Be Rotated?

Yes, A QR Code is omnidirectional and can be viewed / scanned any way around. Position detection patterns (Finder Patterns) help the scanner identify the correct way to read the image. This example is the same code in different rotated angles.

Each QR Code has 3 finder patterns that can be seen as large squares with a smaller solid square within. They are located in 3 corners of the QR Code. The 4th corner doesn't have a finder pattern and instead has an alignment pattern. This setup allows the scanner to determine the correct way to process the image (the corner with the alignment pattern is always the bottom right corner) allowing the scanner to effectively undo any rotation.

How Secure is a QR Code?

It would be easy to assume because of how basic a QR Code is, that few security concerns exist. There are however some areas in which QR Codes can pose a risk to your security. QR Codes are small harmless patterns printed onto a surface and their intent is only to help you get data from a printed medium to a digital medium. They cannot easily be read with the naked eye so they are particularly difficult to manipulate after publications. It would also expect that given their use is mostly to provide the user with a small snippets of information conveniently, that nobody would be interested in altering them or making them malicious? Well there are a couple of reasons and things to keep in mind. The first and probably main reason would be phishing. Phishing isn't just limited to e-mails, viruses or Trojans. In fact, using QR codes, unsuspecting users can be directed to malicious internet addresses and more. Contact details within the code can be modified so as to cause users to call or send SMS to a paid number.

What Are The Different Sections In A QR Code?

QR Codes are split into various sections and it’s these sections that the scanners use to decode the data. Below is a separation of each section. The image below is a standard text based QR Code. If you scan the code it should be decoded as text and will simply include the text "Sample QR Code".

Sample QR Code
  • Section 1 - Finder PatternThe finder pattern consists of three identical structures that are located in all corners of the QR Code except the bottom right corner. Each pattern is based on a 3x3 matrix of black modules surrounded by white modules that are again surrounded by black modules. The Finder Patterns enable the decoder software to recognize the QR Code and determine the correct orientation.
  • Section 2 - SeparatorsThe white separators have a width of one pixel and improve the recognizability of the Finder Patters as they separate them from the actual data. They are generally always white.
  • Section 3 - Timing PatternAlternating black and white modules in the Timing Pattern enable the decoder software to determine the width of a single module.
  • Section 4 - Alignment PatternsAlignment Patterns support the decoder software in compensating for moderate image distortions. Version 1 QR Codes do not have Alignment Patterns. With growing size of the code, more Alignment Patterns are added.
  • Section 5 - Format InformationThe Formation Information section consists of 15 bits next to the separators and stores information about the error correction level of the QR Code and the chosen masking pattern.
  • Section 6 - DataData is converted into a bit stream and then stored in 8 bit parts (called code words) in the data section.
  • Section 7 - Error CorrectionSimilar to the data section, error correction codes are stored in 8 bit long code- words in the error correction section.
  • Section 8 - Remainder BitsThis section consists of empty bits if data and error correction bits can not be divided into 8 bit code words without remainder.



QR Code Error Correction

Error correction can ensure that a QR Code remains readable when as much as 30% of the code is corrupt. Error Correction isn't always enabled. When a code is being created, it’s a decision to the users to specify if they want error correction to be enabled. There are 4 different settings. The higher the level of error correction built into the code, the less space there is for data to be stored. There are times when error correction is worth sacrificing storage space and times when it isn’t. For example, on a business card when you likely don’t need to store lots of detail, but where the card could become damaged or wet before the recipient has had a chance to scan it, the error correction could help. On the other hand, if you’re creating a code that will only be displayed digitally, the content of the code will not be damaged so error correction isn’t really needed. There are 4 different levels of error correction. These are: L[ow] (up to 7% damage) M[edium] (up to 15% damage) Q[uality](up to 25% damage) H[igh] (up to 30% damage). This error correction is achieved using "Reed-Solomon Error Correction" which in a very complex way is able to mathematically build in the backup data.