How to Make a QR Code That People Will Actually Scan

Why Most QR Codes Get Ignored

A QR code is a square barcode that a phone camera can read. When it works, it takes a person from a poster, a menu, a flyer, or a business card to a web page, a form, a video, or a Wi-Fi sign-in without typing a long address. When it does not work, it is just a confusing square that people walk past. The difference is rarely the technology itself. It is contrast, size, placement, testing, and whether the destination is worth the effort.

Many QR codes fail for avoidable reasons. They are printed too small. They are placed on a curved surface, behind glass, or in a spot with glare. They use low contrast colours that a camera cannot separate. They link to a page that loads slowly or does not work on a phone. Or they give no reason to scan, so no one bothers. Each of these problems is fixable before you print.

This guide shows how to make a QR code that people can scan quickly and trust enough to try. It covers the basics of how QR codes work, the design choices that matter, a step-by-step method, a worked example using example.com, and the difference between static and dynamic codes. It also covers limitations, so you can set realistic expectations.

How a QR Code Works in Plain Terms

A QR code stores information as a pattern of dark and light squares. Three larger squares in the corners help a phone camera find and orient the code. Smaller patterns inside the code store the data and help correct small errors. When you point a camera at the code, the phone reads the pattern, decodes the data, and shows a preview of the destination, such as a web address.

Most modern phones can scan QR codes with the built-in camera app. The user points the camera at the code, waits for a link preview, and taps it. No separate app is usually needed. That simplicity is the main advantage of QR codes. It removes typing, spelling errors, and the need to remember an address.

QR codes can store different kinds of data. The most common use is a web address. They can also store plain text, a phone number, an email address, Wi-Fi network details, a calendar event, or payment information depending on the app and the generator. For most marketing and information uses, a web address is the safest choice because it is familiar and easy to test.

Start With the Destination, Not the Code

Before you generate a code, decide where it should lead and why someone would want to go there. A QR code is a shortcut, not a destination in itself. If the destination is confusing, slow, or irrelevant, the code will not help.

Ask three questions. First, what is the single action you want the scanner to take? Examples include read a menu, fill in a form, watch a short video, or visit a product page. Second, does the destination work well on a phone? Most people scan with a phone, so a page that only works on a desktop is a poor destination. Third, can you state the benefit in a few words next to the code? A label such as Scan to view the menu or Scan to register gives people a reason to act.

Keep the destination simple. A short, clean web address is easier to encode and easier to test than a very long address with many parameters. If you must use a long address, consider using a short redirect or a clean landing page that forwards to the final page. That also makes it easier to update the destination later if you use a dynamic code, as explained below.

How to Make a QR Code Step by Step

Follow this method for a reliable result.

  1. Define the destination and the action. Write down the exact web address and the short instruction you will print next to the code.
  2. Choose a reputable generator. Use a well-known QR code generator from a provider you trust. Avoid generators that force you to create an account or that add advertising to the destination unless you understand their terms.
  3. Enter the destination carefully. Type the full address, including https:// at the start. Check for spelling errors, extra spaces, and missing characters.
  4. Keep the design simple. Use black squares on a white background for the most reliable scan. Add a logo or colour only if you can still test it thoroughly.
  5. Generate a high-resolution file. Download a vector format such as SVG or PDF if available, or a high-resolution PNG. A low-resolution image will blur when enlarged for print.
  6. Test before you print. Scan the code with more than one phone, in different lighting, and at the distance people will actually stand. Test the printed proof, not only the image on your screen.
  7. Add a clear label and a fallback. Print a short instruction such as Scan with your phone camera and, where space allows, print the web address in plain text so people can type it if scanning fails.
  8. Place it where people can use it. Put the code at eye level or within easy reach, on a flat surface, away from glare and folds.

If any test fails, fix the problem and test again. Do not print a large batch until a printed proof scans reliably.

Design Choices That Decide Whether It Scans

Contrast is the most important design choice. A QR code needs a clear difference between dark modules and the light background. Black on white is the safest combination. Dark navy on white or black on very light grey can also work, but they need testing. Light colours on a dark background, known as inverted codes, often fail because many scanners expect dark squares on a light background. If you must use brand colours, keep the code dark and the background light, and test it on several phones.

Size matters. A code that is too small will not scan from a normal viewing distance. As a rough rule, a code printed on a flyer that people hold should be at least about 2 centimetres by 2 centimetres, and larger is safer. A code on a poster viewed from a few metres away needs to be much larger. A code on a billboard needs to be very large indeed, and it is often a poor choice because people cannot safely stop and scan from a distance. Always test at the real distance.

Quiet zone matters too. A QR code needs a clear margin of light space around it. Do not crop the code tightly, do not place text or graphics touching its edges, and do not place it on a busy patterned background. The quiet zone helps the camera find the code. A margin roughly equal to four small squares on each side is a good starting point.

Do not stretch, rotate, or distort the code. Keep the square shape square. Do not add a heavy border, shadow, or pattern over the code. If you add a logo in the centre, keep it small and make sure it does not cover the corner squares. Many generators offer a logo option that keeps the code readable, but you must still test the result.

Material and surface also matter. A code on glossy paper can reflect light and fail in bright conditions. A code on a curved bottle, a wrinkled banner, or a moving vehicle is harder to scan. Flat, matte surfaces work best. If the code will be outdoors, use weather-resistant printing and check that rain, sun, and wear do not damage it.

Test Before Printing: A Practical Checklist

Testing is not optional. A code that scans on your laptop screen may fail on a printed poster. Use this checklist before you commit to a print run.

If a test fails, change one variable at a time. Increase the size, improve the contrast, add more quiet zone, or simplify the design. Then test again. Changing many things at once makes it hard to know which change fixed the problem.

Worked Example: A Code for Example.com

Suppose you want a QR code that sends people to example.com. Example.com is a standard example domain used in documentation. It is a safe placeholder for this worked example because it does not promote a real product or service.

Start with the destination. The full address is https://example.com. Write that address exactly. Do not add a trailing space or a missing letter. In your generator, choose the website or URL option and enter https://example.com.

Next, keep the design simple. Use black squares on a white background, with a clear quiet zone. Do not add a logo for this first test. Download a high-resolution PNG or a vector file.

Next, place the code in a mock flyer with a label. For example, print the heading Visit our example page, then the QR code, then the line Scan with your phone camera, and then the plain text address https://example.com underneath. The plain text address is a fallback for people who cannot scan.

Next, test the printed proof. Hold your phone at a normal reading distance and point the camera at the code. The phone should show a preview for https://example.com. Tap the preview and confirm that the page loads. Test with a second phone and in different lighting. If the code scans quickly on both phones, the basic design works.

Finally, consider what would change for a real destination. If the real page is longer, heavier, or harder to use on a phone, fix the page before printing the code. A QR code cannot fix a poor landing page. It only makes the poor page faster to reach.

Static vs Dynamic QR Codes

A static QR code stores the destination directly in the pattern. Once you print it, you cannot change where it leads. If the web address changes, you must generate and reprint a new code. Static codes are simple, and they do not depend on a third-party service to redirect the user. For a stable destination that will not change, such as a permanent homepage or a long-lived menu, a static code is often enough.

A dynamic QR code stores a short redirect address in the pattern. That redirect points to your final destination, and you can change the final destination later without reprinting the code. This is useful when a campaign page, a form, or a menu may change. Dynamic codes can also offer scan statistics, such as how many times the code was scanned, depending on the provider.

Dynamic codes have trade-offs. They usually depend on the provider that hosts the redirect. If the provider closes, changes its terms, or stops the service, the code may stop working. Some providers charge for dynamic codes or for analytics. Others may require an account. Before you use a dynamic code, check who controls the redirect, what happens if you cancel, and whether the service adds delays or tracking. Do not use a dynamic code for a destination that must work for many years unless you understand those risks.

A practical rule is to use static codes for stable, long-lived destinations and dynamic codes for short campaigns where the destination may need to change. In both cases, keep a record of where each code leads, where it is printed, and when it was created. That record makes it much easier to update or remove codes later.

Do Not Hide the URL

People are right to be cautious about QR codes. A code hides its destination until the phone shows a preview. That is why you should make the destination visible and trustworthy. Print the domain in plain text near the code. Use a familiar domain. Do not use a shortened or disguised address that hides where the code leads.

Also, do not use a QR code to hide a surprising destination. If the label says Scan to view the menu, the code should lead to the menu, not to a sign-up form or an unrelated page. Misleading codes erode trust quickly. People who feel tricked once are less likely to scan your next code.

For security, avoid asking people to enter sensitive information immediately after scanning a code from a public place. If the destination needs a login or a payment, make sure the page uses HTTPS, shows the correct domain, and explains why the information is needed. If you are the person scanning, check the preview domain before tapping, and do not enter passwords or payment details on a page you reached through a code you do not trust.

Common Mistakes to Avoid

One common mistake is printing a code too small or too far away. A code on a poster that people see from across a room needs to be large and tested from that distance. A code on a business card needs to be large enough to scan when the card is held at arm’s length.

Another mistake is placing the code where it cannot be scanned comfortably. A code on the back of a door that swings open, a code at floor level, or a code behind a counter forces people into an awkward position. Place codes where people can stand still, hold their phone steady, and see the screen.

Another mistake is linking to a page that is not mobile-friendly. Test the destination on a phone, not only on a desktop. Check that text is readable, buttons are tappable, and the page loads in a reasonable time on a mobile connection.

A final mistake is generating many codes without a record. Over time, you forget which code leads where, which ones are still in print, and which ones should be removed. Keep a simple log with the destination, the location, the date printed, and whether the code is static or dynamic.

Limitations

QR codes have real limits. They require a phone with a camera and a reasonable connection. Not everyone has one, and not everyone is comfortable scanning. Always provide an alternative, such as a short printed address or a phone number, so people who cannot scan are not excluded.

QR codes also depend on print quality, lighting, and surface. A damaged, faded, or reflective code may fail even if the design was correct. Outdoor codes need maintenance. Codes on packaging need to survive handling. Check printed codes periodically, especially if they will be in use for a long time.

QR codes do not guarantee attention. A code on a crowded poster, a busy web page, or a fast-moving vehicle may be ignored. Placement, context, and a clear benefit matter as much as the code itself. A code that no one notices is not a failed code. It is a failed placement.

Finally, QR codes do not solve trust on their own. People scan codes from sources they trust. A code from an unknown sender, in an unexpected place, or with no clear benefit will often be ignored. Build trust by showing the destination, using a familiar domain, and keeping the promise made in the label.

Frequently Asked Questions

Why will my QR code not scan?
The most common reasons are low contrast, small size, missing quiet zone, glare, distortion, or a damaged print. Test a printed proof, increase the size, use black on white, and add clear space around the code.

How big should a QR code be?
It depends on viewing distance. A code on a flyer held in the hand should be at least about 2 centimetres square, and larger is safer. A code viewed from metres away needs to be much larger. Always test at the real distance.

What is the difference between static and dynamic QR codes?
A static code stores the destination directly and cannot be changed after printing. A dynamic code uses a redirect that you can update without reprinting, but it depends on the provider that hosts the redirect.

Should I hide the URL behind a QR code?
No. Print the domain in plain text near the code so people can see where it leads and can type it if scanning fails. Do not use a disguised address that hides the destination.

Conclusion

A QR code that people will actually scan is not a trick of design. It is a clear destination, a simple high-contrast code, a sensible size, a quiet zone, a helpful label, and a printed proof that has been tested on real phones. Use a static code for stable destinations and a dynamic code when the destination may change. Show the URL, give people a reason to scan, and provide a fallback. With those habits, your code will be easy to find, easy to scan, and easy to trust.