How to Create a QR Code for Free (Step-by-Step Guide)
Creating a QR code should take minutes, not a subscription. This guide walks through the whole process from choosing a type to printing a code that lasts forever.
QR codes are everywhere — on menus, packaging, business cards, and flyers — and for good reason. They bridge the physical and digital worlds in a single scan. The good news is that you do not need a paid service, an account, or design software to make one. This guide shows you exactly how to create a free QR code from start to finish, with no watermark and no expiry date.
What is a QR code, really?
A QR (Quick Response) code is a two-dimensional barcode that stores text — most often a web link, but also Wi-Fi credentials, contact details, calendar events, and more. When a phone camera reads the pattern of dots, it decodes the text and offers an action: open a website, join a network, save a contact.
Unlike the old one-dimensional barcodes on grocery products, a QR code holds hundreds of times more data and can be scanned from any angle. That flexibility is why a single code can point to a website, dial a number, or connect a phone to Wi-Fi.
Step 1: Choose the right QR code type
Before you type anything, decide what you want the code to do. The content type determines the fields you fill in and how the phone reacts to a scan.
- URL — opens a web page. The most common type, used for links to menus, landing pages, and product details.
- Wi-Fi — connects the scanner to a wireless network without typing a password.
- Contact (vCard) — saves your name, phone, email, and company into the scanner's address book.
- WhatsApp — opens a chat with a prefilled message.
- Email — opens a draft email with recipient, subject, and body filled in.
- SMS — opens a text message ready to send.
- Event — adds a calendar entry with time and location.
- Location — opens a map pin at exact coordinates.
If you are not sure, start with a URL code. It is the most flexible and the easiest to test.
Step 2: Enter your content
Once you pick a type, the form shows the fields that type needs. For a URL code, that is just the link. For a Wi-Fi code, it is the network name, password, and security type. Fill in only what matters — every extra character makes the code denser and slightly harder to scan.
For a café menu, choose URL and paste the link to your online menu, e.g. https://mycafe.example.com/menu. The preview updates instantly as you type.
Double-check the content before moving on. A typo in a URL or a wrong digit in a phone number is baked into the code, so it is worth a few seconds of proofreading.
Step 3: Customize the look
A plain black-on-white code works perfectly, but you can match it to your brand. Most free generators — including this one — let you change the dot color, the background, the dot style, and add a center logo.
The golden rule is contrast. The dots must be dark and the background light enough that a camera can tell them apart. Black on white is the safest choice; navy on cream can work; yellow on white will not scan.
If you add a logo, the generator automatically raises error correction to the highest level (H) so the code still reads with the logo covering its center. Keep the logo under 30% of the code area.
Step 4: Preview and test
Never print a QR code you have not scanned yourself. Open the live preview, point your phone camera at the screen, and confirm the action works. Test with both an iPhone and an Android if you can — camera apps handle codes slightly differently.
If the scan fails, the usual culprits are low contrast, a logo that is too large, or a code that is too small on screen. Adjust and test again.
Step 5: Download in the right format
For most uses, a PNG download is perfect — it is a flat image you can drop into any design tool or document. If you need to print the code very large (a poster or banner), choose SVG so the dots stay crisp at any size.
Save the file with a clear name so you can find it later, and keep the original somewhere safe. Because the code is static, this file is your master copy.
Why free, static codes are usually the right choice
Many "free" QR services generate dynamic codes that route through their servers. They let you change the destination later, but they also expire when the free trial ends — leaving you with printed codes that suddenly stop working. A static code encodes the content directly into the image, so it works forever with no dependency on any service.
The trade-off is that you cannot change the destination after printing. For most one-off uses — a flyer, a business card, a Wi-Fi sign — that is perfectly fine. Plan your link, generate the code, and you are done.
Common mistakes to avoid
- Using a dynamic code for a permanent print run, then losing access when the trial ends.
- Reversing colors (light dots on a dark background) — most cameras struggle with this.
- Forgetting the quiet zone, the white margin around the code. Keep it at least four modules wide.
- Printing too small. A code under 2 × 2 cm is hard to scan reliably.
- Not testing on a real phone before printing in bulk.
You are ready to generate
Creating a QR code is genuinely a five-minute task once you know the steps. Pick a type, enter your content, customize, test, and download. The generator above is ready to go — no sign-up, no watermark, and your content never leaves your browser.
Try it yourself
Generate the code from this article in your browser — free, no sign-up.
Frequently asked questions
Is it really free to create a QR code?
Yes. The generator builds the code in your browser, so there is no server cost to pass on. There is no sign-up, no watermark, and no limit on how many codes you make.
Do these QR codes expire?
No. Static codes encode the content directly into the image, so they work forever. The only thing that can "break" them is the destination itself — if a linked website goes offline, the code still scans but the page will not load.
Can I change the destination later?
Not with a static code. Once downloaded, the content is fixed. If you need to change destinations after printing, you would need a dynamic code — but those usually require a paid plan and can expire.
Do I need to install anything?
No. The generator runs in any modern browser. Modern phones scan QR codes with their built-in camera, so your visitors do not need an app either.
Will my data be stored?
No. Everything is generated locally in your browser. Your links, Wi-Fi passwords, and contact details are never uploaded to a server.