Picture this. You have just opened a new shop, and a kind friend says, "Put my number on your flyers for now. I'll set up call forwarding to your mobile, no charge." You are grateful. You print five thousand flyers, make a sign for the shop front and put a sticker on every table. Everything runs smoothly for months, until one day your friend changes phone plans, the forwarding quietly stops, and customers holding your flyer call a number nobody answers. You don't even find out.
Sounds like something nobody would do, right? Yet some of the QR codes small shops make on free websites every day work exactly like that forwarded number. The square pattern on the paper looks the same either way. Inside, though, it might hold your own web address directly, or it might hold someone else's link that passes your customers along to you.
I wrote this for shop owners who are about to send a QR code file to the printer, whether it is for a menu, a flyer, a table sticker or the shop front. Give it fifteen minutes before you press "print", because what you print will stay with the shop for years.
A five-minute check on the QR codes you already use
Grab something you have already printed, a table menu or a business card will do. Point your phone camera at the QR code but don't tap through yet. Most phones show the web address first. Look at whether it starts with your shop's own domain name, or with some other website you don't recognise.
If it is another website, answer two more things. Do you remember which site you made the code on, and with whose email account? And when you made it, did the word "trial" or a number of free days appear anywhere?
If you can answer all of that and the address is your own domain, you are in a comfortable place already. If any answer is a blank, the next sections explain why it matters.
Two kinds of QR code that look exactly alike
A QR code is just a way of storing text in a pattern of black and white dots. Most of the time the text is a single web address. So the difference between the two options most QR generator sites offer comes down to whose address that line is.
Static writes your address straight in
A static QR code takes the link you typed and turns it into dots as it is. Whoever scans it goes straight to that link without passing through anyone. You can't edit it after printing, but it also never expires on its own. As long as the destination page exists, it keeps working.
Dynamic leaves the link with a middleman
A dynamic QR code stores the provider's short link instead. When a customer scans it, their phone goes to the provider's server first, and that server forwards them to the page you chose. The upside is that you can change the destination any time, even after printing, and many providers count scans for you too.
That convenience is real, and I'm not telling you to avoid it. I just want the picture to be clear: every time a customer scans, they walk through someone else's front door before reaching your shop, and the provider holds the key to that door.
What happens to a pile of flyers when the middleman stops forwarding
No guessing needed here, because the provider says it plainly. An article by QR Code Generator (qr-code-generator.com), published 11 February 2026, explains that dynamic codes created during the trial deactivate automatically when the trial period finishes, and that if you stop paying, the links pause. The same site's home page says the free trial lasts 14 days. The article is also honest that people scanning can't tell a camera problem from a server problem. They just see that the shop's QR code doesn't work.
I respect them for writing it down so clearly, and to be fair, this is an ordinary business model. A service that runs forwarding servers all year has costs. The real gap is on our side: plenty of owners make a code in a hurry, don't notice they are on a trial, and send the file straight to the printer.
Imagine two weeks later, half of five thousand flyers already handed out, every table stickered, and every code stops working on the same morning.
People also often say that some free services route customers through their own ad page before the shop's page. I tried to find this in a real provider's terms page and could not find one that confirms it, so I won't name anyone. What I can say with confidence is the principle: the short link belongs to the provider, so the provider decides what your customer meets on the way. If you want to know what your provider does, the only way is to read that provider's own terms before you create the code.
Who should own the destination link
The answer I give every client is: the shop. The simplest way is a static QR code pointing to a page on a website the shop owns, an address like yourshop.com/menu or yourshop.com/promo.
That gives you almost everything dynamic offers without handing the key to anyone. When the menu changes, prices go up or the promotion rotates, you edit the content of the /menu page. The code on the table never changes, because it points to an address you control.
The one condition is that the domain name genuinely belongs to the shop, registered in the shop's or owner's name and renewed without gaps. If the domain lapses, every printed code breaks at once, just like the middleman case. I covered choosing and holding a domain in detail in our guide to what a domain name is and how to choose one for your business.
As for the page itself, a promotion tied to one batch of flyers usually works better as a single page with a clear offer and a contact button than as a trip to the home page. If you want to see what that kind of page looks like, our article on landing pages versus home pages is a good companion read.
Before the printer: size, white margin and colour
The QR code was invented by DENSO WAVE, a Japanese company that still runs qrcode.com with free explanations of how it works. I have taken only what a shop owner actually needs when ordering print.
The white margin matters more than you think
The page on qrcode.com about determining the code area states that a QR code needs a four-module-wide margin on all sides. A module is the smallest single square in the pattern. This margin is called the quiet zone, and it is how the camera tells where the code ends and the background begins.
A common design problem is that the designer wants the menu to feel full, so the code sits tight against a border, a food photo or a patterned background. Every dot of the code is still there, but the camera can't find its edge, so it scans sometimes and fails sometimes. If I could tell your designer only one sentence, it would be: "leave a white margin around the code at least as wide as four of its smallest squares."
Longer links make a finer pattern
QR codes run from Version 1 to Version 40. Version 1 is 21 x 21 modules, and each version up adds 4 modules per side, reaching 177 x 177 modules at Version 40. The more data, the bigger the version the pattern needs.
In shop terms: when sticker space is tight, a short link gives you bigger dots that are easier to scan. That's one more reason I prefer a link like yourshop.com/menu over a long link with several parameters hanging off the end.
On the question of the minimum size in centimetres, qrcode.com gives a worked example of Version 3 at a module size of 0.254 mm, which comes to about 7.4 mm for the code and about 9.4 mm with the margin. That example is calculated from printer resolution, though. It says nothing about the distance from which a customer's phone camera can read it, so I'd rather no single number replaces a real test.
Error correction, and the logo in the middle
QR codes can recover data when part of the pattern is damaged. The error correction page on qrcode.com lists four levels: L restores about 7%, M about 15%, Q about 25% and H about 30%. The same page says M is the level most frequently selected, and suggests Q or H where codes are likely to get dirty, while noting that higher levels make the code physically larger.
A restaurant table sticker gets water, sauce and a cloth wipe every day, so I recommend Q or H for that job. Putting your logo in the middle of the code, which many generator sites let you do, relies on exactly this recovery capacity. The bigger the logo, the more of that capacity it uses up before any stain arrives. If you want a logo, keep it small and test harder than usual.
Dark on light
This one is our own recommendation from experience. A dark pattern on a clearly contrasting light background scans most easily. Inverting to a white pattern on black, pairing two pastel colours, or printing on glossy material that reflects the shop's lights are where we see problems most often. If the brand wants special colours, test with several phone models before printing a large run.
Is scanning safe for your customers?
This question matters more every year. The Bank of Thailand has published advice on scanning QR codes safely, which Thailand's Government Public Relations Department republished on 6 October 2023 (the page is in Thai). In short: when scanning to pay, check the recipient's name and the amount every time; when scanning to open a website, check that the link looks right; and if you're unsure, don't continue. In the United States, the FTC issued a similar warning in December 2023 that scammers cover legitimate QR codes in public places with their own.
For a shop owner, that advice turns into jobs you can do right away. One is to make the link customers see when they scan a readable shop name. We have just told customers to check the link before tapping, and yourshop.com passes that check far more easily than an odd short link. The other is to have staff look over the QR stickers on tables and at the front regularly, to make sure nobody has stuck something on top.
A QR code for receiving money through PromptPay is a separate standard from what this article covers. The banking app shows the recipient's name for the customer to see before confirming, so what the shop can do is ask staff to invite customers to check the shop's name on screen before every transfer.
"I've used a free one for ages and nothing went wrong"
If that's you, I believe you, and it may well be true for your shop. Static QR codes don't expire on their own. Even QR Code Generator, mentioned above, says so on its home page. If your code is static and points to your own page or website, there is nothing to fix.
The only thing I'd ask is whether you know for sure which kind you have. Many of these sites offer both, and when you create one in a rush it's easy not to notice which you picked. Scanning and reading the link, as in the five-minute check above, answers that immediately.
A related point: if your code points only to a Facebook Page, you are still leaving the destination on someone else's platform. Nothing wrong with that, but there are risks worth knowing, which I went through in our article on whether a Facebook Page alone is enough.
Why sorting it out before printing pays off
A post on your Page can be edited in ten seconds. A printed QR code can't.
Flyers stay in customers' bags for months, table stickers stay until they peel, and some shop signs last for years. The more items a shop prints a code on, the more expensive changing the destination later becomes, both in reprinting and in customers who scan an old piece and land on a dead page. The other way round, if the very first batch points to a page on the shop's own site, every later print can reuse the same code, and the value keeps adding up.
Make a free QR code that won't expire, using Chrome
If the shop already has a website, open the page you want customers to reach in Google Chrome on a computer. Chrome can make a QR code for the page you are on. Its help page gives the steps as More, then Cast, save, and share, then Create QR code, and you can then download the file. No account with anyone is needed.
If you don't have a website yet, a free generator is fine. Just make sure you choose static, and plan that once the shop has a website, the next print run will point to the shop's own domain.
Real examples you can look up
QR Code Generator, mentioned above, is a good example of a provider that is clear about this: its home page states the 14-day trial, and an article on its site explains that dynamic codes created during the trial are deactivated when the trial ends. Anyone who reads before creating can make the right choice from the start. Google Chrome is an example of a tool that makes a QR code from the address of the page you have open, with no account or trial involved.
And if you want the principles from the source, qrcode.com by DENSO WAVE, the inventor of the QR code, is what I relied on for everything in this article about margins, versions and error correction.
A true story from our side: what's in the file versus what's live
When we rebuilt the TumWebSME website in 2026, the team had written the code to count Google Ads conversions and it went live with the site, but it wasn't actually running on the live site for about a week after the ads started running, because it sat in the wrong place. Clicks came in normally, but conversions read zero, and nothing on screen looked broken.
The lesson maps exactly onto QR codes. A file that looks right on a computer doesn't prove it works in a customer's hand; you have to check the real thing. A file sent to the printer may scan fine on a monitor, but printed on glossy paper, placed on a table under warm lighting and scanned from across the table with an older phone, the result may be different.
A 6-step plan before you print
Decide which page this code will take customers to, and where possible make it a page on the shop's own domain.
Create a static QR code, and read the tool's terms to see whether there is a trial or an expiry date.
Set error correction to Q or H for anything likely to get dirty, and keep the original file together with the name of the account used to make it.
Ask the designer for a white margin of at least 4 modules around the code, with a dark pattern on a light background.
Print one full-size sample on the real material, then scan it with at least three phones of different makes and models, from the distance and in the light customers will actually use.
Check that the link that appears matches what you intended, and only then order the full run.
How to measure once it's out there
The first step is simple. Set a monthly calendar reminder for staff to scan every code in the shop: tables, the shop front and the latest flyers. If one fails or goes to the wrong place, you'll know before a customer tells you.
The next step is knowing how many people scanned from a flyer. You do that by adding UTM tags to the link before turning it into a QR code, which I explained step by step in our guide to UTM parameters for small business. It's worth reading next.
There is also a channel no tool sees: customers who scan and then message you on LINE or call straight away. Our sales team uses the simplest method there is. They ask every lead, "Where did you find us?" and write it down. Your shop can start doing the same tomorrow.
Closing thoughts
Back to that number your friend kindly forwarded. Your friend did nothing wrong and helped out of real goodwill. Still, an owner who wants to sleep well would rather have their own number printed on the flyer.
QR codes are the same. Put in a little extra effort before printing so every pattern points back to the shop's own home, and every flyer and sticker will keep working for the shop for years. If your shop doesn't yet have a home on the web for its QR codes to point to, have a look at TumWebSME's website packages and what each one includes, then tell us about your shop. We'd be glad to think it through with you.
Follow TumWebSME
Follow us for insights on website development and online marketing:
Facebook: TumWebSME Business Website Development
Instagram: @tumwebsme
TikTok: @tumwebsme
YouTube: TumWebSME
Contact Us and Inquire About Services
088-983-9386 (Ploy)
099-856-3198 (Saennan)




