Many say, QR codes are terrible and not being used at all. At the start, advertisers used them on billboards or print ads for soap and wondered why almost no one wanted to see the video that came along with the detergent advertisement.

We see things differently and that’s why we DO use them along with NFC chips, GPS geofencing and Bluetooth LE (iBeacons). QR codes ARE being used if the information promised is considered useful or even desired: Think of a gallery or museum where you do want to know more about an exhibit.

They are just a time saver.

QR codes are just there to help anyway. In most cases, they save us from inputting a URL. No one wants to type (possibly long) URLs on a phone’s keyboard. They do a good job for an extremely hard thing: bridging media disruption. They are a bridge between the offline and the online, between the real world and the web.

Every text can be coded in a QR code: from binary data, numerals, alphabetic characters, symbols, and even Japanese, Chinese or Korean characters. And if the text looks like a URL, the API of the mobile OS knows that this is a URL and opens it with a browser. The same is true for pure text, phone numbers or complete sets of contact information – your phone knows what to do with those bits.

Free for everyone.

Originally, QR codes (QR stands for “quick response”) were used by car manufacturers to follow parts along the production process. The variety of use cases has grown since.

QR codes were originally created and patented in 1994 by DENSO Wave in Japan. With demand for bar codes holding more data, the idea for a 2-dimensional code came to place. This resulted in the creation of a QR code.

Due to the widespread use of the code, the creators decided to open it to the public and let it be used freely. They retained the license and patents but are not exercising their legal rights as long as the codes are created in accordance with the defined standards.

An extensive infographic about QR codes

How it works and how are they assembled.

QR codes are 2-dimensional, which results in them having a square filled with data. Besides data, there are certain identifiers helping the code being read correctly. The most common QR code type is model 2, which is broken down in the following information identifiers:

Infographic: How is a QR code constructed

Version and format information are important for the scanning device to know what kind of data to expect. Meanwhile, the data can be slightly smeared or missing and still be readable. This depends on the error correction level being used when writing the code.

And did you know that you can rotate QR codes however you like? Upside down will still work! This is courtesy of the position patterns (squares with dots in the middle) that allow the code to be read from any direction in 360 degrees.

Meanwhile, the alignment patterns are used to assist in navigation of larger codes and the timing patterns are used to determine the size of modules. The quiet zone requires a margin of at least 4-module worth.

The progress of the QR code.

Yes, there is technological advancement. Smartphone cameras are getting better and there is more CPU power than ever before to process the code. This means, your phone does not need to focus endlessly and the result is immediate.

Did you know that at least on Android you won’t need a special app for scanning these codes? With the release of Google Play Services 7.8 in August 2015 comes a set of new camera APIs. If integrated, they allow the camera app to interpret barcodes and QR codes. So, soon all manufacturers could integrate this capability into their standard camera and some – like Motorola – already do.

The development of the code itself is far from being done as well. Throughout the years more and more types of QR codes have been introduced. They can further be divided into different capacity versions, ranging from 1 to 40.

The QR codes started with model 1 and quickly evolved, upgrading to model 2. The main difference between model 2 and model 1 is the addition of the alignment pattern, which gives it higher capacity. Model 1 could hold up to 667 alphanumeric characters, while model 2 can reach up to 4,296 alphanumeric characters. One alphanumeric character is either a character from A to Z or a number from 0 to 9. With the need for special characters like .!/$§% or öÖäÄüÄß, the capacity shrinks down to 2.956 Bytes. But that’s still plenty.

Ten years after creation, in 2004, the micro QR has been released. This particular code can be used only for very small collections of data but has the advantage of being very small and needing less padding around it. The maximum capacity is 15 Bytes.

In 2008, two new types of codes have been created: iQR and SQRC. iQR allows the shape of the code to be squared or rectangular and inverted colors (white code on dark background). With the slightly different assembly, the iQR can hold far more data than the commonly used QR codes.

SQRC (secure QR code) brings an option of private sharing. It looks just like a regular QR Code to the eye but can hold additional private information only readable to a special SQRC-ready scanner. This allows storing of two control levels in one code, bringing different results based on the scanner. This kind of code can be useful for sharing certain internal information between coworkers or other exclusive limited content (e.g. special discounts or coupons for loyal customers). Due to a very limited amount of people being able to get the privately shared content, the SQRC is not meant to be widespread.

If you like it fancy – the newest (and not yet released to the public) addition might be something for you: the Frame QR. Frame QRs come with a canvas area that lets users include pictures or graphics inside the code, making it more modifiable than ever. They were created concerning the promotional uses and simplifying authenticity judgments.

But for now, we concentrate on the most commonly used type, namely model 2. It is readable by each and every QR app out there.

How to create and mass produce them.

There are plenty of websites that generate QR codes on the web. Our favorite is which produces all kinds of codes for different inputs (URLs, phone numbers, SMS messages etc.). You can download the file with a right click and scale it to be as big as you need it later on in any software.

If you need lots of different QR codes, the bulk generator at is a good tool. If you need to integrate the generation of QR codes in a software project, you can find a bunch of open source libraries at GitHub.

Screenshot of Adobe InDesign, generating a QR codeAdobe InDesign has an integrated tool for creating QR codes in its layout program.

Creating individual QR codes:
In InDesign you can find the relevant option in the “Object” menu.

  1. Choose the type of QR code.
  2. Enter the desired content.
  3. Choose the color: QR codes do not have to be black but can be portrayed in any color, as long as there is sufficient contrast.
  4. After finishing you can place the QR code.

If you need to create lots of different QR codes, you can automate this process. Adobe offers a tutorial on data merge.

10 ultimate tips and tricks for using QR codes effectively.

Now that you know where the QR codes come from, how it has progressed over the years and how you produce them – you are ready to use them. But wait … be sure to check the following hints. They will help you in launching successful campaigns and make your users happy.

The most important aspect: Make it easy for your users.

1. Be useful, give good content

Content matters and the usefulness of what you can expect will drive usage. To stress the example above: do not expect anyone to be excited about advertisement for soap.

That does not mean that advertorial content is always bad. Just think about great content or exceptional added value. Hint: a code leading to your homepage might not add too much value.

Ask yourself the simple question: Would I use that? Would I be happy with the content? If not, why or what value could be added? If you still don’t find an answer … leave it for good and do not offer the QR code in the first place.

2. Set expectations right away

Think about the wording on the smart label. Are the expectations for the user set correctly?

Tell potential users what extra value or added content they will get by scanning the QR code. Try making it as catchy as possible but do not promise too much. There is a thin line between the two, but if done right, you can expect many loyal users.

3. Help new users

Speaking of the smart label, check if there is a little space left to offer help for the new users. If you expect an international audience, you could also offer icons that are self-explanatory.

xamoom customers get access to templates and graphics for such icons.

4. Show the URL

For transparency reasons and to show authenticity, especially if using foreign and disguised links (e.g., you should also type out the URL that is encoded in the QR code somewhere next to it. It gives people the confidence that the QR code does not lead to a malicious page but to a real content. And it can also help all those who prefer typing in a URL and do not want to install an additional app.

5. Proper size and coarseness of codes

Make it easy for your users. The larger and coarser the code, the faster it will be scanned. Do not design smart labels with QR codes smaller than 15 x 15 millimeters. If possible, do not use them smaller than 20 x 20 millimeters.

Too big is also not good. In some cases, the user could not get the whole code into the scanning canvas of the app. Decide and know in advance where the code will be placed, in order to know how big it should be.

The shorter the content, the coarser the code. If you want to encode a long or even very long URL, use a URL shortener like or As an added value, these services provide you with simple statistics that tell you how many times the QR code has been opened.

Besides the long URLs, there are also long contact details being used in QR codes. A good way of dealing with this is to place contact information on the mobile web and have the QR code lead to the corresponding website.

Another way to keep the code as coarse as possible is to keep error correction low. The magic letter, when creating codes, is L … like “low”. Don’t worry, if the code is not too fine, there is not a big need for high error correction levels anyway.

6. Padding and contrast colors

A QR code needs a little bit of padding around it. The “quiet zone” around the code is required, even though some scanners can live without it. But for the sake of compatibility, you should leave that area untouched.

Apps scan these codes faster if they are printed with good contrast. Black on white is ideal. White codes on dark surfaces are impossible to interpret for some scanners, so stay away from inverted colors.

7. Branding

Try to avoid using too much branding on the code itself. The more you personalize the code, the more you decrease scanability and usability.

While there are many ways of bringing a personal touch to a QR code (with tools like e.g. this or this), we advise keeping this to the minimum. Changing color? Keep it in high contrast. Want to add a logo? Think about placing it beside the code. Artsy look? Maybe there is a better space for that?

8. Accessible placement

QR codes are made to be scanned. This means they should be made accessible and placed on visible and reachable places. Avoid placing QR codes on buildings and highway billboards, as that is not very practical for the users and potentially even dangerous. Glaring glass or curved surfaces can also come between the code and the users, so try to keep away from those. The best placement is in a visible and open area at the eye-level height and within reach of the hands, about 150 cm to 180 cm above the ground.

Besides, QR codes mostly only make sense in the offline world. Placing a QR code on a desktop-web mostly doesn’t make much sense, unless it provides mobile users with something to take with them on the go, e.g. map details for navigation or contact information to save to their phone.

Another thing to keep in mind is also an internet connection at the location. Opening a webpage requires an internet connection. If the location of the QR code has no or only poor Wi-Fi or data access, users will not be able to get to the content.

9. Tested and mobile-optimized content

Make sure to test your code before placing it anywhere! Something could always go wrong: your code may not be scanable or may lead to the wrong page.

Throughout the time codes may also rip or get dirty. Checking up on your code every once in a while may be a good thing to do.

Another important thing to do is to optimize the target webpage for mobile phones and make sure it is not cluttered. Scanning the QR codes will mainly be exercised by smartphone users, which means the target webpage should welcome them. The users are looking for useful information – make it easy on them.

10. Success?

QR codes are supposed to be used as a tool to help spread good, useful content in a faster and easier way. When that is done in a proper way, one can expect successful results from it.

First, know your plans, know your audience and know your desired results. From there on, continuously measure your success and make sure it corresponds with your desired goals.

Additionally, think about accompanying your QR code with an NFC-tag that you could write yourself. It’s better for Android and Windows phones as well as usable when it is dark.

Get out and get sharing.

Do not be afraid of them. While QR codes might sometimes be talked bad about, that is only partially true – namely, when used wrongly or for wrong purposes. However, often they could be the key to great content that you will enjoy and learn something from it.

With proper use, we can work on the bad image of the QR code.

So, have some good and interesting content to share and a use case to go with it? Get out there and get sharing.

Photo: Adobe Stock/Everst