How to create a QR code for a website
A practical guide to turning a website, landing page, or campaign URL into a QR code you can test, print, track, and update later.
A website QR code is just a scannable link. The hard part is not generating the pattern. The hard part is choosing the right URL, making sure it works on a phone, and avoiding the moment three months from now when a printed code points to the wrong page.
If you want to create a QR code for a website, treat it like a small launch checklist, not a decoration. The code is going to sit on a poster, package, table card, flyer, receipt, label, or screen. Once people start scanning it, the destination has to be fast, useful, and easy to fix.
Start with the website URL
Before you open a QR generator, decide exactly where scanners should land.
Do not default to your homepage unless the homepage is genuinely the best next step. A person scanning a code usually has a specific job in mind: see the menu, book the appointment, claim the offer, open the product manual, register for the event, or pay the invoice. Send them to that page directly.
Use this quick URL check:
- Use
https://. A secure URL looks more trustworthy and avoids browser warnings. - Open it on a phone. If the page is slow, cramped, or blocked by a desktop-only layout, fix that before making the QR code.
- Avoid login walls unless they are intentional. If the scanner needs an account, say that near the code.
- Use a clean destination. Remove internal staging URLs, private preview links, and accidental tracking parameters.
- Add campaign parameters before launch. If you use analytics tools, add UTM parameters to the destination so website sessions can be tied back to the printed surface.
The best website QR codes are boring in the right way: scan, open, do the thing.
Decide whether the code should be static or dynamic
A static QR code stores the website address directly inside the QR pattern. If the destination ever changes, the code cannot be edited. You have to generate a new code and replace whatever you printed.
A dynamic QR code stores a short redirect URL instead. In DuoQR, that short URL resolves through r.duoqr.com, then sends the scanner to the current destination. You can update the destination later without changing the printed QR pattern.
Use a static code when the page is permanent and the stakes are low. Use a dynamic code when any of these are true:
- The code will be printed on something expensive to replace.
- The destination might change after launch.
- You want scan analytics.
- You may need to pause, expire, or reroute the code.
- The code belongs to a campaign, menu, event, label, brochure, or physical sign.
If you are still deciding, read the QR code expiration guide before you print. The short version: for a website QR code that will leave your laptop and enter the physical world, dynamic is usually the safer choice.
Create the QR code
Here is the practical flow for making a QR code for a website.
- Choose a website or URL QR type. In DuoQR, start from the QR constructor and choose the destination type for a website link.
- Paste the final URL. Use the public page, not a draft link or admin URL. If you are using UTM parameters, paste the full tracked URL.
- Name the code by surface. Names like
spring-flyer-front-deskorproduct-box-insert-v2are easier to manage later thanWebsite QR. - Keep it dynamic if the code will be printed. This gives you an editable destination and scan history.
- Set the visual style. Use enough contrast, leave the quiet zone intact, and do not overload the code with decoration.
- Download the right file. Use SVG for print when the printer accepts it. Use PNG for screens or simple digital placements.
- Test the downloaded code. Scan the exported file, not just the preview in the app.
That is all it takes to make a QR code for a website. The quality difference comes from the checks around the generator.
Make the destination scanner-friendly
The page behind the code matters more than the code itself.
A scanner is usually on a phone, often standing up, sometimes in bad lighting, and rarely patient. That changes what the website should do.
For a campaign landing page, put the primary action near the top. For a restaurant menu, load the menu before anything else. For a product manual, show search or the most common setup steps first. For a payment or booking page, reduce the number of fields and make sure the form works on mobile.
If the QR code is on a physical object, the page should also confirm context. A page title like "Warranty registration for Model X200" is better than a generic "Register now" page. It tells the scanner they are in the right place.
One code can also send scanners to a simple choice page when there are multiple valid destinations. For example, a package insert might link to setup instructions, warranty registration, replacement parts, and support. That is usually better than printing four different QR codes next to each other.
Design the code for scanning, not just branding
You can change colors, add a logo, round modules, and place the code inside a branded frame. Just keep the scan path simple.
The rules are practical:
- Use a dark foreground on a light background.
- Keep the quiet zone clear.
- Do not put text, icons, or crop marks too close to the code.
- Keep the call to action short: "Scan to book", "Scan for menu", "Scan for setup".
- Test the exact design before sending it to print.
If the QR code needs to live inside a campaign design system, read creating a custom QR code without breaking scans. It covers the visual decisions that make people trust the code enough to point a camera at it.
Track scans without confusing them with website visits
A scan and a website visit are related, but they are not the same metric.
The QR platform can tell you when the code was scanned. Your website analytics can tell you what happened after the redirect: page views, conversions, signups, purchases, or form submissions. You usually need both.
Use UTM parameters when the destination is a marketing page. For example, a flyer might point to:
https://example.com/spring-offer?utm_source=qr&utm_medium=print&utm_campaign=spring_flyer
That makes the downstream website session easier to identify. DuoQR scan analytics can then answer the physical-world questions: which code was scanned, when it was scanned, and how the scan volume changed after distribution.
For a deeper look at the redirect and tracking path, read trackable QR code guide.
Check the code before printing
The easiest time to fix a QR code is before it is printed. The second easiest time is never.
Run this check before you send files to a printer:
- Scan the code from the exported SVG or PNG.
- Scan it with at least one iPhone and one Android device if you can.
- Test it from the distance people will actually scan.
- Print one proof before ordering the full run.
- Confirm the destination opens on mobile data, not just office Wi-Fi.
- Ask someone outside the project to scan it and say what they expect to happen.
For print work, use the high-resolution QR code print guide before approving the final file. A valid QR code can still fail if it is too small, too low contrast, compressed as a JPEG, cropped into the quiet zone, or placed somewhere people cannot comfortably scan.
Common mistakes to avoid
The common failures are not exotic. They are small decisions that become expensive after launch.
- Using a temporary URL. Preview links, staging domains, and unpublished CMS URLs are easy to paste by mistake.
- Pointing every code at the homepage. It forces scanners to search for the thing you promised them.
- Skipping mobile testing. A page that works on a laptop can still be painful on a phone.
- Exporting a low-quality image. Screenshots and compressed JPEGs are poor source files for print.
- Printing a static code for a changing page. If the campaign URL changes, the printed code is stuck.
- Forgetting the call to action. A naked QR code gives people no reason to scan.
- Measuring only scans. Scan volume is useful, but it does not replace conversion tracking on the destination page.
If you catch these before launch, the QR code feels invisible in the best way. People scan it and get where they expected to go.
Website QR code launch checklist
Use this before publishing or printing:
- The destination URL is public, secure, mobile-friendly, and specific.
- The QR code is dynamic if the destination may change.
- The code has a clear name in your dashboard.
- The design has high contrast and an intact quiet zone.
- The call to action says what the scanner gets.
- The exported file format matches the placement.
- The final code has been scanned from the actual file or proof.
- Analytics are set up for both scan tracking and website behavior.
That is the difference between "make a QR code for a website" and launching a QR code you can trust.
If you want an editable website QR code with scan analytics, create a DuoQR account and make the first code dynamic. The destination can change later; the printed square can stay exactly where it is.
Marisol leads product at DuoQR. Before this, she ran ops at a chain of coffee shops where she printed too many menus. She writes about the boring problems behind shiny tools.