How-To Geek

How to Customize and Decorate Your QR Codes with Pictures

We all know about QR codes. Some black and white boxes, containing encoded data. Boring, isn’t it? Let’s decorate and make your QR code more stylish and customized!

No, QR codes aren’t dead; it’s just the fact that people have failed to properly utilize them. Today, we will tell you how to make attractive QR codes. Let’s have a look at a QR code in a bit more detail. The arrangement of the small black boxes in a QR code determines the information it contains. But the colour of the code doesn’t matter, as long as it is readable by a QR code reader. For this purpose, we suggest you get a QR reader app for your phone. For iPhone, Scan is a good one, and for Android there’s QR Droid.

Let’s start. Now we have two choices. First, you can create a customized QR code online, but the level of customization will be limited. The second option is to generate a simple QR code, and then play with it in Photoshop/GIMP/your favourite image editing program to create a customized version. There are several possibilities in the latter. However, the only thing you need to keep in mind is that the integrity of the QR code remains intact, and it doesn’t lose the encoded information. We will talk about it later.

The Simple Method

If you just need a simple QR code with a bit of colour based style, head over to Unitag. First, you need to specify what data you want to embed in the QR code, whether it is a URL, plain text or something else. There are several options to choose from, but the one required here is “Link”, so select that option, and type the link in the field.  Once done, click the “Next Step” button.

The next tab is for the size settings of the QR code. All settings in this tab are optimal, so we don’t need to change them. You can change the size, add a rotation, or add a shadow as well if you want to. Press the “?” button to get more help.

The “Colors” tab helps in selecting a colour for your QR code. You can choose to have it in a solid colour, or in a gradient style colour. Moreover, you can also change the orientation and colour of the gradient. You can also add a logo on top of the QR code, but it has two problems. Firstly, it doesn’t look very good, and secondly, it can render the QR code unreadable by the app. We will be working with logos in the expert method. When you’re done, click the “Generate” button.

Once generated, you can download your QR code as a PNG image. Download it and scan it with your QR code reader app. If it doesn’t get recognized for some reason, you can always go back and create another one. Scan the QR code below to see what link it contains. This QR code was created with the exactly same method.

The Expert Method

For this, we will assume that you have essential knowledge of image editing using Photoshop or any other professional image editing program. If you need more help, you can have a look at our Photoshop guides guaranteed to help. All image editing programs usually have the same features.

First, we need to generate a QR code for our link, and this will be a special QR codes. QR codes have levels of error correction. The highest level has a lot of data on it (lots of black spots) but can be customized heavily as well. Since it contains a lot of data, modifying the “design” won’t affect much. If it does, remember the “undo” button! Let’s get started.

This QR code generator  is a good one, because you can generate with a specified level of error correction. On this page, you just need to enter the link, and set the “Error Correction Level” to H. We need the QR code in a larger size, so change the module size to 0.1. Rest is fine as it is.

Once done, click the “Generate Barcode” button. When it is generated, save it on your computer (right click, save image as). Now open the saved image in an image editing program. As mentioned earlier, we’re using Photoshop here.

Here’s how we will proceed. We have to empty out a specific part of the QR code for putting a logo. The first step is to start erasing a particular area on the QR code. A rough estimation is to use only 20-30% of the QR code’s area for logos and stuff. So grab the eraser, or a white brush, or the selection tool (depends on your choice) and start removing the black boxes. The center is normally a good point to start. Erase a small area, and then use your smartphone’s QR code reader app to scan the code. If it gets recognized, you can proceed with further erasing. If not, undo the erasing, and try another area. It’s just a matter of hit-and-trial, so play around with it to see what works best for you.

Up to this point, our QR code is intact. Let’s separate the black area from the white. Navigate to Select> Colour Range. Click on any black area on the QR code. Move the fuzziness slider to the end, and press OK. Then (with a selection tool selected) right click on the selected area, and click “Layer via Cut”.

Now that the black portion of the QR code is separated, we can apply some effects to it. Nothing too difficult now, just applying a 3D bevel and a gradient overlay from blending options. And if you’re wondering why we made the space in the center, let’s introduce a special guest to demonstrate it. And scanning the QR code confirms that it is still intact. Perfect!

Let’s add some final touches. Some text and more aesthetics. As long as the QR code is readable by the app, you can continue to make modifications. That’s it, you’ve got yourself a nice QR code that looks better than that black-box-white-box QR code!


All QR codes mentioned in this guide worked for me. I used the “NeoReader” iPhone app  to scan the codes. If the codes aren’t working for you, it’s probably due to the app. Some apps are glitchy as well, so be sure to scan the code multiple times. But hopefully, all codes can be decoded regardless of what app you use.

Here's our very own regular reader. He's an aspiring tech writer, and obsessed with all things tech!

  • Published 10/31/11

Comments (14)

  1. Mark

    I know nothing about QR codes so I’m curious why you can’t just overlay your logo and scale it down until the code is readable. Seems all the erasing and fading, etc is making things more complicated than necessary.

  2. cee

    It’s just a QR code.

  3. Usman

    Overlaying the logo is easy, and it’s a part of the “simple method” that we discussed. But since it’s about decorating your QR code, so why not go a step further? :)

  4. Steve O'Connor

    You forgot one thing – where’s the quiet zone? Every QR Code should have *at least* one module (square) of space around the outside so that scanners can pick up the finder patterns easily.

    Also, this is not the best method to create a customised code for practical use, i.e. for sending to print. You need a vector image that can be resized, not a raster image in Photoshop.

  5. DBigWoo

    While this may make the code pretty, consideration has to be given to what you lose – reliability.

    Think of it as a jigsaw puzzle. With all the pieces in place, you can tell easily that it is a picture of a duck. Take out a piece, and it still looks like a duck. Take out a different piece, and it still looks like a duck. Take out multiple pieces and eventually, you can’t tell for sure. That is what you are doing here. Taking out pieces and checking that YOUR software can still tell it is a duck. While the code may still be read, the chances of piecing it together go down considerably with every piece of the puzzle that you remove. The fact that you have to keep checking to see if it can be read at all just highlights this fact.

    You wind up gambling that the printer won’t smear any of the code, the monitor won’t have bad pixels that mess it up, and that the decoding software the end-user has doesn’t require more stability. The idea of making it pretty is nice, but far too risky for my tastes. To me, any company that does this kind of thing is just showing me that they really don’t care about quality, nor making sure that I can contact them.

    If you really want your code read, the answer isn’t make it more attractive, it is to help the end-user understand it. Give them a suggestion as to HOW to read it, and HOW it can be used. The reason they don’t use it is likely because they don’t know how they can.

  6. JStew

    I agree with DBigWoo, why not try something like this

  7. 99er

    @cee, …And this is just text, what’s your point?

  8. cee

    you make no sense

  9. 99er

    I make perfect sense, read your comment first then mine second.

    If your going to make arrogant comments, learn to defend them.

  10. Bob-El

    Thanks for the info on QR codes. First of all, “WE” do not all know about QR codes. Up until now I didn’t even know what they’re called. Someone told me you could read them with your phone somehow. Not my phone. And I don’t have a data plan and use my cellphone for that obsolete (seemingly) application of speaking to people. I rarely text message. I figure I have email for that. So what does “QR” mean?

    I am curious about those weird codes I see everywhere. I have no idea if there’s an app for my phone, a Motorola KRZR K1. It’s pretty old…but it works for what I want to do.

  11. Nerd

    MS Tag = Just plain better :D

  12. Usman

    Sorry for getting direct to the point. In simple words, a QR code contains important encoded information, which can be anything from simple text to web URLs and much more. Not necessarily for URLs and internet based stuff, you can also hide secret messages in QR codes and send them to your friends ;)
    (provided no one else with a QR reader gets your secret QR code!)

  13. Tyran67

    MS Tag = Big Bad Microsoft = Bad idea

  14. Mortis DeAthinc

    With a combination of the colors R Y & B, along with the standard black, it should be possible to make a multi-layered qr code that would quadruple it’s information storage capacity. I have seen qr codes done in color, but not multicolored yet. B + Y = G etc., so therefore if we can use 3 layer combinations, for example 1 blue, 1 yellow, 1 red, and black if all 3 colors are combined, We will now have 3 qr codes represented in the same physical space as we could normally fit 1. the colors represented would be blue, yellow, red, purple (red and blue), green (blue and yellow), Orange (yellow and red) and Black (representing the 3 color mix of blue, yellow and red). Now we just need a qr code scanner that recognizes our 7 colors and the software will be able to render the 3 layers separately thereby tripling the storage capacity because there are 3 qr codes contained in the same area now. It should be easy to make a test code by using 3 different qr codes and layering them together with image layer editing, I just need help with information regarding the scanning of differentiated colors in qr codes. It may not have been thought of yet so at this stage it is probably not possible for a qr scanner to “think” in colors, but that should only require software tweaking as most qr scanning hardware itself should be capable of color discrimination (since many qr scanners are smartphone cameras etc. nowadays). So to reiterate my idea, not multiple colors on one locked layer that only holds 1 layers worth of information, but 3 primary colors combining to make 3 qr code layers, each with the full storage capacity of a separate layer, we just need a color qr scanner that can differentiate the layers by color combinations. Take any 3 codes and make each a different base color (B or R or Y), now layer them over each other and wherever all 3 overlap we use black. If we were able to scan such a code and have it recognize each color combination as “layer combinations” it should be able to recognize each layer separately thereby tripling storage space. In the original post I did say it could quadruple the storage capacity, and that was an error in my calculation of layers created by color combination. A black layer represents a blending of the 3 present color layers, not a new 4th layer that itself stores anything at all. I am currently working on a mathematical model using the fibonacci sequence, hopefully I can suss out the right numbers. Thanks for the advice and information, please feel free to rethink and use my idea freely if I have manage to explain it more thoroughly, just remember, 3 separately colored layers represented by 6 combinations of those colors, as opposed to 3 colors on a single layer. This is surely going to increase capacity and all it should require is software modification. Rather than manipulate an already made qr code to add an image, we should have the qr code generator be able to trade off some information storage space in order to have a blank area in the center in various predefined shapes that images can be placed into. This could be done WITHOUT comprimising a qr codes error correction at all =]

More Articles You Might Like

Enter Your Email Here to Get Access for Free:

Go check your email!