How to Create a QR Code for Free: Step-by-Step Guide
Make a free QR code that never expires: choose the right content, style it safely, pick PNG, SVG or PDF, and test it properly before you print.

Making a QR code takes about thirty seconds. Making one that still works after it's printed on 2,000 flyers takes a little more thought. This guide walks through both: the quick steps, and the handful of decisions that separate a code that scans every time from one that frustrates people.
Everything below uses our free QR code generator, which doesn't need an account, doesn't add watermarks and creates static codes that never expire. The same principles apply whatever tool you use.
Step 1: Decide what the code should do
Start with the action you want someone to take after scanning, not with the design. Common choices:
| If you want people to… | Use this type | What gets encoded |
|---|---|---|
| Open a web page, menu or form | Website | A link such as https://site.example.com/menu |
| Join your Wi-Fi without typing | Wi-Fi | Network name, security type and password |
| Save your contact details | Contact card (vCard) | Name, phone, email, company and more |
| Message you on WhatsApp | A wa.me link with your number |
|
| Add an event to their calendar | Calendar event | Title, date, time and location |
| Find a place on a map | Location | Coordinates or a map link |
| Email or text you | Email or SMS | Recipient plus an optional pre-written message |
If you aren't sure, a website link is the most flexible option. Every phone handles links the same way, and you can change what the page shows later without touching the printed code.
Step 2: Prepare the content properly
This is where most problems start, so it's worth slowing down.
For links, use the final address people should land on, and make sure it works on a phone using mobile data. Shorter is better: a short address produces a simpler code with larger modules, which scans more easily and from further away. If you'll print the code on something long-lived, use an address on your own domain, such as shop.example.com/menu. If the PDF or page moves later, you can redirect that address rather than reprinting.
For Wi-Fi, type the network name and password exactly as they appear on your router, including capitals and spaces. Our Wi-Fi QR code guide covers the details.
For contact cards, include only the fields that matter. Every extra field makes the code denser.
Optional: track scans with campaign tags
A static code can't count scans by itself, but your website analytics can. Add campaign parameters to the end of your link, for example:
https://shop.example.com/spring?utm_source=flyer&utm_medium=qr&utm_campaign=spring-sale
Google Analytics recommends always including utm_source, utm_medium and utm_campaign, and treats the values as case-sensitive, so keep them consistent. Visits from the code then appear as their own traffic source. The trade-off is a longer link and a denser code, so keep tag values short.
Step 3: Enter the details in the generator
Open the generator, pick the content type, and fill in the form. The preview updates as you type. A few things to watch for:
- If the form shows a message in red, fix it before downloading. We check things like email format, phone numbers and WPA password length because those mistakes produce codes that "work" but do the wrong thing.
- Look at the Version and Grid numbers under the preview. They tell you how dense the code is. A grid under about 40 × 40 is comfortable for small print.
- The scan test badge confirms that the code, as designed, can be read back by a decoder.
Step 4: Style it (carefully)
A branded code can look great and still scan well, provided you respect a few rules.
- Keep it dark on light. Dark modules on a light background are what scanners expect. Many phones can't read a light code on a dark background.
- Keep contrast high. A navy, deep green or dark purple on white is fine. Pastel on white is not. Our generator warns you when contrast drops.
- Leave the quiet zone. The empty border around the code is part of the code. The standard is four modules wide.
- Use a logo sparingly. A logo covering up to about a quarter of the width usually works with high error correction. We switch to level H automatically when you add one.
- Patterns are fine. Rounded or dotted modules scan well; just print them a little larger than square ones.
When you're done, check that the scan badge still says it passes. We go deeper on colours and logos in QR code design best practices.
Step 5: Choose the right file format
| Format | Choose it for | Notes |
|---|---|---|
| PNG | Documents, slides, websites, most printing | Download at 1024 px or more for print |
| SVG | Websites and design tools like Figma, Illustrator, Canva | Vector: sharp at any size |
| Sending to a print shop | Vector, and opens anywhere | |
| EPS | Older design or sign-making software | Vector; only if someone asks for it |
| JPG | When a file must be small | No transparency |
If you're unsure, download PNG for everyday use and PDF or SVG for anything printed larger than a postcard.
Step 6: Test it like a printer would
A code that scans on your laptop screen can still fail in the real world. Before a big print run:
- Print a proof at the real size on the real material if possible.
- Scan it with at least two different phones, ideally one iPhone and one Android. Current iPhones can scan with the Camera app or the Code Scanner in Control Center, and most Android phones scan from the camera too.
- Scan from the expected distance. A poster is read from a metre or two away; a business card from 20 cm.
- Check what happens after the scan. Does the page load quickly on mobile data? Is it readable on a small screen?
- Test in the real light. Glossy laminates reflect light, and dim restaurants make cameras work harder.
How big should it be?
A practical rule of thumb is that the code should be at least one tenth of the scanning distance. For something held in the hand, 2 cm (about 0.8 in) is a sensible minimum. Denser codes need more space, so if your grid is large, go bigger.
Common mistakes to avoid
- Linking to a page that will move. Use a stable address you control.
- Forgetting the call to action. Tell people what they'll get: "Scan for today's menu" works better than a bare code.
- Placing codes where they're hard to scan: on curved bottles, behind glass with glare, or high on a wall.
- Shrinking a PNG in a layout program until it's blurry. Use the SVG or PDF instead.
- Using a temporary dynamic code for something printed to last years without checking the service's terms.
If a code you've printed doesn't scan, our troubleshooting guide walks through the causes in order of likelihood.
Frequently asked questions
Is a free QR code as good as a paid one?
For static codes, yes. The QR format is an open standard, so a code made for free is technically identical to one from a paid service. Paid services mainly sell dynamic codes with editable destinations and scan statistics.
Can I use a free QR code commercially?
Yes. You can print codes from our generator on products, packaging and advertising. There are no usage limits or attribution requirements.
Will my QR code stop working?
A static code works for as long as its content stays valid. If it points to a website, keep that page live.
Summary
Pick the action, prepare short and stable content, style with contrast and a quiet zone in mind, download the right format, and test a real print with real phones. Those six steps cover nearly every QR code you'll ever need to make. When you're ready, open the generator and try it.
Sources and further reading
QRaft Editorial Team
The people who build and maintain QRaft's tools. Every guide is written and checked against the tools on this site and the public specifications it cites. How we write and review guides.


