Skip to content
motifuse
Guide
11 min read

How QR Codes Work — and How to Use Them Well

QR codes are everywhere now, but most are made badly. Here's how they actually work, the static-vs-dynamic decision that trips everyone up, how to design one that always scans, and how to track scans for free.

The motifuse team

A few years ago QR codes felt like a technology that had quietly failed. Today they're on restaurant tables, product packaging, event tickets, payment counters and business cards — a genuinely useful bridge between something physical and something on a phone. The scanning finally works because every modern phone camera reads them natively, with no app to install.

But here's the thing: most QR codes in the wild are made badly. They point to desktop pages that are painful on mobile, they're printed too small to scan, they lock the owner into a subscription they didn't understand they were signing up for, or they simply lead nowhere because nobody tested them. Almost all of that is avoidable once you understand how the codes actually work.

This guide covers what a QR code really is, the one distinction that matters most before you make one, what you can put inside a code, how to design one that scans reliably, and a free way to measure how many people actually use it.

What a QR code actually is

A QR ("Quick Response") code is a two-dimensional barcode — a grid of black and white squares that encodes data both horizontally and vertically, which is why it holds far more than the old single-line barcodes on grocery items. Those little squares in three corners are finding patterns: they tell a scanner where the code is and how it's rotated, so you can scan it upside down or at an angle and it still works.

The genuinely clever part is error correction. QR codes deliberately store the data more than once, using a mathematical scheme (Reed-Solomon) that lets a scanner reconstruct the full message even when part of the code is dirty, torn, or covered. Depending on the level chosen when the code is generated, anywhere from about 7% to 30% of the code can be damaged and it will still resolve. That redundancy is exactly why you can drop a logo into the middle of a QR code and it still scans — the scanner treats the logo as "damage" it can recover from.

When your phone camera sees the pattern, it decodes the squares back into the original data — usually a web address, but it can be much more.

Static versus dynamic: the decision that trips everyone up

This is the single most important thing to understand before you make a QR code, and most guides skip it. There are two fundamentally different kinds.

A static QR code has the data baked directly into the pattern. If it encodes a URL, that URL literally is the code. It's permanent, works forever, needs no service behind it, and is completely free. The trade-off: you can't change where it points after it's printed, and it can't, by itself, tell you how many people scanned it.

A dynamic QR code encodes a short redirect URL owned by a QR service. That short link forwards to your real destination. Because the service sits in the middle, you can change the destination later and count every scan — but you're now dependent on that provider, the code usually stops working if you stop paying, and the redirect adds a company between your user and your content.

Static QR codeDynamic QR code
Destination baked inYes — permanentNo — a redirect you can edit
Editable after printingNoYes
Built-in scan analyticsNoYes
Needs a service / subscriptionNoUsually yes
Keeps working long-termAlwaysOnly while the provider does
CostFreeOften paid

What you can put inside a QR code

Most people only ever encode a web link, but a QR code can hold several kinds of data, and phones know how to act on each one.

Data typeWhat happens when scanned
Website URLOpens the link in the browser (by far the most common use)
Plain textDisplays the text on screen
WiFi networkOffers to join the network — no typing the password
Contact card (vCard)Offers to save the contact's details
EmailOpens a pre-addressed email, optionally with subject and body
Phone numberPrompts to call the number
SMSOpens a pre-filled text message
Payment (e.g. UPI)Opens the payment app with details filled in

The WiFi and vCard types are underused and genuinely handy — a WiFi code taped by the door of a café or guest room saves everyone the ritual of squinting at a password, and a vCard on a business card drops your details straight into someone's phone.

How to make one

Creating a static QR code takes seconds and shouldn't cost anything or require an account. Enter your link or text, and the code is generated in your browser and ready to download as an image you can print or embed.

Try it right here

QR Code Generator

Open full tool
Loading embedded tool...

The QR Code Generator above builds a static code from any text or URL and lets you download it as a PNG — no sign-up, no expiry, and nothing sent to a server. If your link contains special characters or spaces, run it through the URL Encoder / Decoder first so it encodes cleanly.

Designing a QR code that actually scans

A QR code is only useful if it scans on the first try, in the real world, on someone else's phone. A few practical rules make the difference between reliable and useless:

  • Keep strong contrast. Dark code on a light background is safest. Light-on-dark can work but is riskier, and low-contrast colour combinations are the most common reason a code won't scan.
  • Respect the quiet zone. QR codes need a margin of empty space around them (about four squares wide). Crowding the code with text or graphics right up to its edge breaks scanning.
  • Size it for the scan distance. A rough rule is a 10:1 ratio — the code should be roughly one tenth as wide as the distance people scan from. A code on a table can be small; one on a poster across a room needs to be big. As a floor, avoid printing smaller than about 2 cm wide.
  • Don't over-stylise. Rounded dots, gradients, and a centre logo are fine in moderation thanks to error correction — but every visual flourish eats into that error-correction budget. Test heavily if you customise.
  • Point it somewhere mobile-friendly. The person scanning is, by definition, on a phone. If the destination is a slow or desktop-only page, you've wasted the scan. (Compressing the images on that page helps — see our guide on compressing images for the web.)
  • Always test before printing at scale. Scan the final artwork with more than one phone — both an iPhone and an Android — before you order a thousand flyers.

Tracking scans without paying for a dynamic code

Here's the trick that makes static codes far more powerful than people realise. You don't need a paid dynamic-QR service to know how many people scanned your code — you need the same UTM parameters you'd use for any other link.

Encode a URL that already carries UTM tags, for example a link with utm_source=flyer and utm_medium=qr. Every scan then lands on your site as identifiable campaign traffic, and it shows up in your normal analytics right next to your email and social numbers — for free, with a permanent static code, and no third party in the middle.

Build the tagged link with the UTM Builder, then paste that finished URL into the QR generator. Our full guide to UTM parameters explains how to name the tags so the data stays clean. This one combination — a free static QR code pointing to a UTM-tagged URL — covers what most people wrongly assume requires a subscription.

Common mistakes to avoid

  • Printing the code too small. The most frequent failure. When in doubt, make it bigger.
  • No context or call to action. A bare code gives people no reason to scan. "Scan for the menu" or "Scan to join our WiFi" dramatically lifts scan rates.
  • Locking into a dynamic service unknowingly. Many "free QR generator" sites quietly create dynamic codes that expire or demand payment later. If longevity matters, confirm you're getting a static code.
  • Skipping the test scan. A code that looked fine on screen can fail once printed, laminated, or lit poorly. Always test the physical result.
  • Linking to a non-mobile page. Everyone scanning is on a phone; the destination has to be built for one.

Frequently asked questions

Do QR codes expire?
Static QR codes never expire — the data is in the pattern itself, so they work as long as the destination (like a web page) still exists. Dynamic QR codes can stop working if the service that hosts the redirect shuts down or you stop paying for it. This is the main reason to prefer static codes when you can.
Are QR codes free to create and use?
Static codes are completely free to generate and there's no charge to scan any code — scanning is a built-in phone feature. Some services charge for dynamic codes because they host the redirect and analytics. You never need to pay to make a basic static code.
What's the difference between a static and a dynamic QR code?
A static code has the destination baked directly into the pattern: it's permanent and free but can't be edited or track scans on its own. A dynamic code points to an editable redirect run by a service, so you can change the destination and see analytics — at the cost of depending on that provider and usually a subscription.
Can a QR code still scan if it's damaged or has a logo on it?
Yes, up to a point. Built-in error correction lets a code recover from roughly 7–30% damage depending on the level chosen, which is why a small centre logo or a bit of wear doesn't stop it working. Beyond that threshold, though, the code fails — so don't rely on covering large areas.
How much data can a QR code hold?
A lot more than most uses need — up to around 4,000 alphanumeric characters or about 7,000 digits at the largest, most dense version. In practice you want the opposite: less data means a simpler, larger-squared code that scans more reliably, which is why encoding a short URL beats stuffing in a long one.
Can I track how many people scanned my QR code?
Yes, in two ways. Dynamic codes include analytics through their service. But you can also track a free static code by encoding a URL that carries UTM parameters, so scans appear as campaign traffic in your own analytics — no dynamic service required.

The bottom line

QR codes are a small technology that rewards a little understanding. The mechanics — a 2D grid with finding patterns and generous error correction — explain both why they're so robust and why design choices like contrast and quiet zones matter. And the one decision that trips most people up, static versus dynamic, usually resolves in favour of the free, permanent static code once you know you can still track it with UTM tags.

So keep it simple: make a static code with the QR Code Generator, point it at a mobile-friendly page tagged with the UTM Builder, give people a clear reason to scan, and test the printed result before it goes live. Do that and your codes will land in the small minority that actually work well — all with free tools that run entirely in your browser.

Put it into practice

Every guide comes with free tools to match.

Public tools open without sign-up. Local, upload, AI, and premium workspace steps are labeled clearly.

Explore all tools