Quick Answer
A website QR code works when it links to the right page (not your homepage), gets placed where people naturally pause, includes a clear label explaining what the scan does, and loads fast on mobile. Use a static QR code for anything meant to last more than a few months.
Most QR code generators ask you for a website URL and assume you’ll hand over your homepage. It’s the default option, and it’s almost always the wrong choice. Homepages are designed to serve every possible visitor. The person scanning your QR code is not every possible visitor. They’re standing at a table, a counter, or a product display with a specific question in mind, and your homepage makes them hunt for the answer.
The difference between a QR code that works and one that gets ignored often comes down to that single decision: where does the scan actually land?
The only thing a website QR code does
A QR code stores data in a visual pattern. For website QR codes, that data is a URL. When someone scans it, their phone opens that URL in a browser. That’s the entire mechanism. Phone camera reads pattern. Browser opens address.
No apps required. No accounts. No magic. The complexity lives in everything around that exchange: what page you send people to, where you put the code, and whether the experience on the other end actually helps.
Destination is the decision that matters most
The most common mistake isn’t technical. It’s pointing the QR code at the wrong page.
The default thinking is “we’ll link to our homepage.” The better thinking is “what does someone who scans this actually want?” A QR code on a restaurant table should open the menu, not a homepage that makes visitors hunt for a menu link. A code on a product package should open care instructions or warranty registration, not your company story. A code on a yard sign should open the listing, not your real estate agent’s portfolio.
Before generating any code, ask three questions. What action should follow the scan? Can someone complete that action on the landing page? How many taps separate the scan from the goal? Each additional tap loses people. Mobile attention spans are measured in seconds.
The landing page test
Open your destination URL on a phone before generating the code. Actually do it. Don’t skip it.
Check the load time. If the page takes more than three seconds on a decent cellular connection, you’ll lose scanners. Heavy images, tracking scripts, and chat widgets add up.
Check the mobile layout. Can you read the text without zooming? Are buttons large enough to tap accurately? Does the page require horizontal scrolling?
Check immediate clarity. Within five seconds of landing, does a visitor know what they can do here? Ambiguous pages create bounce.
Check for obstacles. Does a cookie banner cover half the screen? Does a newsletter popup appear before content loads? Each interruption is a reason to leave.
If your page fails any of these, fix the page before printing QR codes. A fast path to a bad destination is still a bad experience.

A static QR code pointing to a website URL. The destination is encoded directly into the pattern; the work happens at the link and on the page behind it.
Placement that actually gets scans
Location decides whether anyone uses your code. Good placement meets three conditions: visibility, relevance, and scannability.
QR codes work best in moments of natural pause. Waiting in line. Sitting at a table. Standing at a counter. Browsing a display. Reading a sign or poster. They work poorly in moments of movement: walking past a store, driving by a billboard, hurrying through a hallway. A code on a storefront window gets fewer scans than the same code on a checkout counter, even though the window has more foot traffic. The counter catches people who’ve stopped.
Height and angle matter. Phones need a clear line of sight to scan. Codes placed too low require awkward bending. Codes behind reflective glass create glare. Codes at sharp angles to typical viewer position fail to scan consistently. Eye level to chest height works for standing viewers, table height for seated viewers. Test from the actual distance and angle customers will use, in different lighting conditions.
Size for the distance. A code that looks fine up close may be unscannable from where customers actually stand. Within arm’s reach, 1 inch minimum. Counter distance (2-3 feet), 1.5 inches minimum. Sign distance (5-10 feet), 3 inches minimum. Across a room, test specifically. When in doubt, larger is better. A code that’s “too big” still scans. A code that’s too small doesn’t.
Label everything. An unlabeled QR code asks people to gamble their attention. They don’t know what they’ll get. “Scan for menu” beats no label. “View full menu with prices, scan here” beats both. The label sets expectations and creates motivation.
Static vs dynamic, for websites
For anything printed with an intended lifespan over a few months (menu cards, window signs, business cards, packaging), static codes are the safer choice. They work as long as your URL exists, with no subscription fees or service dependencies.
Dynamic codes let you change destinations without reprinting, but they add a vendor in the middle. If the service shuts down or your account lapses, every printed code breaks. For website URLs you control, static is almost always the right answer. The full picture on static vs dynamic QR codes covers the longer reasoning.
Dynamic codes make sense for short-term promotions with planned destination changes, marketing campaigns requiring precise scan attribution, or testing different landing pages. Flexibility comes with dependency.
Technical setup
The URL you encode should be complete (include https:// at the start, since some phones handle bare domains less reliably), stable (/menu is better than /menu-spring-2026; page content can change without the URL needing to), clean (avoid unnecessary tracking parameters that clutter the URL), and canonical (use your primary domain consistently rather than mixing www and non-www versions).
Testing protocol before anything goes to print: scan with multiple devices including iPhone and Android, test at the actual printed size (a code that scans on screen may fail when printed at final dimensions), test in real conditions (outdoor codes need bright sunlight testing; codes behind glass need to be tested through the glass), complete the full user journey rather than just confirming the scan, and add a quarterly reminder to scan your active codes and verify destinations still work.
Print specifications: use vector formats (SVG) when possible since they scale without quality loss. For raster images, generate at 300+ DPI for print. Use dark modules on a light background; black on white is the safest contrast. Leave a quiet zone around the code so scanners can find the boundaries. Matte finishes scan better than glossy.
Industry-specific notes
For restaurants and cafés, table codes should link to the current menu, not the homepage. Counter codes can link to online ordering. Receipt codes can link to feedback forms. If the menu changes frequently, keep the URL stable (/menu) and update page content. The code doesn’t need to change when you add a seasonal special.
For retail, product tags should link to detailed specifications for that specific item, not a general category page. Shelf signs can link to size guides. Checkout codes can link to loyalty signup or reviews. Test codes on actual merchandise; the curves and textures of product packaging affect scannability.
For professional services, business cards link to contact pages or booking. Presentation handouts link to slides or resources. Office signage links to client portals. Avoid codes that require login before showing useful content. For professional contexts, clean code design beats decorative elements that look gimmicky in a formal setting.
For events and venues, signage links to schedules or maps. Table cards link to speaker bios. Check-in areas link to registration or wifi info. Event wifi is often unreliable, so keep destination pages lightweight enough to load on congested networks.
What not to do
Link to login-protected content. If someone scans and hits a login wall, they’ll leave. Most people won’t create an account on the spot.
Depend on services you don’t control. A redirect service that goes out of business breaks every QR code pointing through it. For permanent signage, static codes eliminate this risk.
Neglect mobile experience. A desktop-oriented website is worse than no QR code at all. It suggests the business doesn’t think things through.
Overuse codes. One well-placed code beats five competing ones. Multiple codes create decision paralysis.
Skip testing. Untested codes that fail embarrass everyone. The few minutes testing takes prevents hours of reprinting later.
Long-term maintenance
A QR code printed today might still be in use in five years. Plan for longevity.
Keep URLs alive. Even when page content changes, maintain the URL. Redirects help when paths need to change. If you move from /menu to /food-menu, set up a permanent redirect so old codes keep working.
Document active codes. A simple spreadsheet noting each code’s location and destination prevents confusion later.
| Location | Destination URL | Created | Last Verified |
|---|---|---|---|
| Front window sign | /hours |
Jan 2026 | May 2026 |
| Table cards | /menu |
Jan 2026 | May 2026 |
| Business cards | /contact |
Jan 2026 | May 2026 |
Add “scan QR codes” to quarterly maintenance checklists. Verify each code still works and that the destination remains relevant. When you know a URL will change (website redesign, domain migration), update or replace affected codes before the change goes live, with redirect rules as backup.
Measuring results without overcomplicating
Staff notice first. Fewer “where’s your menu?” questions. Fewer requests to repeat the WiFi password. Fewer customers squinting at faded signage trying to find your website.
Your existing page analytics tell the rest. Traffic to /menu spikes after you add table cards. Mobile visits to /hours increase after the window sign goes up. If you want cleaner attribution, use a dedicated path like /menu-table that only appears on QR codes.
The strongest signal is behavioral: customers complete the action the code enables. They order online, they leave reviews, they book appointments. When the friction disappears, the results show up in your normal business metrics, not in a QR dashboard you have to maintain.
Creating the code
Take the specific URL (the one that answers the question, not the homepage) and generate the code on StackQR. Download SVG for print or PNG for screen. The code works as long as your website does.
The simple standard
A QR code’s job is to move the customer from the physical moment to a useful page on the first try. Scan, page opens, task done. When people notice the code itself (because it’s confusing, broken, or leads somewhere unhelpful), the placement or destination needs revisiting.
The technology is trivial. The four decisions around it (destination, placement, label, tested scan) are what determine whether the code earns its real estate. Skipping any of the four is what produces the unscanned codes that make people skeptical of the format.