How to Make a QR Code That Scans Every Time
A QR code takes seconds to create, but a few small choices decide whether it works for every customer or fails on a printed flyer. Here is how to get it right the first time.
Choose the right QR code type
Start with what you want to happen when someone scans the code. Each type does a different job:
- Website URL: opens a page, menu or online store.
- WiFi: connects guests to your network without typing a password.
- WhatsApp: opens a chat with you, ready to send a message.
- Contact card: saves your name, phone and email to the phone.
- Email: opens a new email to your address.
- Text: shows a short message on the screen.
Decide where the code should lead
Picture the person holding the phone. Someone scanning a table in a cafe wants the menu, not your home page. Someone scanning a business card wants your details saved, so a contact card works better than a link to your website. Send people straight to the one thing they came for.
If you link to a web page, open that page on your phone first. It will almost always be viewed on a small screen, so it needs to load quickly and be easy to read there.
Keep the content short
Everything in a static QR code is stored in the pattern itself. The more text you put in, the more tiny squares the code needs, and tiny squares are harder for a camera to read. A short web address gives a simple, open pattern. A long address full of tracking codes gives a dense one.
So trim anything you don't need. A contact card with a name, one phone number and one email will scan more easily than one with every detail you own. If a code looks crowded, shorten the content or print it larger.
Keep the contrast high
Scanners look for the difference between dark and light squares. The safest choice is a dark code on a light background. You can use your brand color, as long as it is dark enough to stand out clearly.
Avoid light codes on dark backgrounds and pale colors like yellow or light gray. Some phones will not read them. Busy photos behind a code cause the same problem, so place it on a plain area.
Add a logo carefully
A small logo in the middle makes a code look like your own, and QR codes have built-in error correction that allows for it. Error correction stores spare information, so a code can still be read when part of it is hidden or damaged. The highest level can recover from about 30% damage.
Flash switches to that highest level automatically when you add a logo. Even so, keep the logo simple, and use a version with a clear shape. Fine detail disappears at small sizes, and a complicated logo adds nothing if nobody can make it out.
Leave empty space around the code
A QR code needs a clear border, called the quiet zone, so the camera can tell where the code begins. The official guideline is a margin four small squares wide. Downloaded codes from Flash already include a margin, so don't crop it off, and keep text and images from crowding the edge when you place the code in your design.
Pick the right size for print
As a rule of thumb, print a QR code at least 2 cm (about 0.8 inches) wide, and bigger if people will scan it from a distance. A common guide is that the code should be about one tenth of the scanning distance. Here is what that looks like in practice:
- Business card, read at arm's length: 2 to 2.5 cm.
- Table sign, about 50 cm away: 5 cm.
- Poster on a wall, about 2 meters away: 20 cm.
- Shop window, about 5 meters away: 50 cm.
Use the right file
Download the SVG file for print, because it stays sharp at any size. PNG is fine for websites, social posts and slides. If you only have a small PNG, don't stretch it for print. Go back and download the SVG instead, since a blurry code is a common reason for scan failures.
Think about where it will be scanned
Glossy paper can catch light and hide part of a code, and curved surfaces like bottles can bend it out of shape. On a curved item, keep the code small enough to sit on the flattest part. Outdoors, remember that rain and sun can fade a printed code over time, so use a durable material.
Add a short line of text too, such as "Scan for our menu". People are far more willing to scan when they know what they will get.
Static codes can't be changed later
The codes made here are static. They never expire, and they keep working for as long as the content inside them stays valid. The catch is that the content can't be edited after printing. If your web address changes, you need a new code.
To stay safe, link to an address you plan to keep, such as your own domain. If the page moves, you can redirect the old address to the new one, and the printed code will keep working. For a WiFi code, a new password means a new code, and anyone who can see the code can join your network, so put it only where you are happy for people to use it.
Always test before printing
Scan the code with at least two different phones, ideally one iPhone and one Android, and check that it opens the right page. Test it again on a printed sample at the real size, because paper and lighting can change how it reads. A sample costs little. Reprinting a full batch of flyers does not.
