Blog

How to Create a QR Code for Free: Step by Step Guide

Published 19 October 2026

You can create a QR code for free in about two minutes: choose what the code should do, enter the data, style it, download it as PNG or SVG and scan it with your phone. Static QR codes need no account and no payment. This guide walks through each step with the exact data formats and the mistakes that most often make a code unreadable.

Everything below uses the GenerateQR.link generator, which runs in your browser.

Step 1: Pick the QR code type

The type decides what happens when someone scans. Start from the action you want, not from the design.

What you want Type Static Dynamic
Send people to a website or page URL Yes Yes
Show a short message Plain text Yes No
Let guests join your WiFi WiFi Yes No
Start an email Email Yes Yes
Start a phone call Phone Yes Yes
Open a WhatsApp chat WhatsApp Yes Yes
Prefill a text message SMS Yes Yes
Share contact details vCard Yes No

If you are unsure whether you need static or dynamic, read static vs dynamic QR codes. The short version: static codes hold the data directly and never expire, while dynamic codes point to a short link you can edit later and track.

Step 2: Fill in the data

Type your content into the form. You do not need to know the raw formats, but knowing them helps you spot typos and understand what the code contains.

A good habit: keep the content short. Less data means a simpler pattern with larger squares, and larger squares scan faster and more reliably, especially when printed small.

Step 3: Style the code without breaking it

Styling is optional, but a code that matches your brand gets noticed more than a plain black square. The generator offers:

The generator uses the highest error correction level (H). Under the ISO/IEC 18004 standard, level H lets about 30% of the code be damaged or covered and still be read. That headroom is what makes a center logo possible. The trade-off is that higher levels make the pattern denser.

Follow these rules so your styled code still scans:

  1. Dark code on a light background. Keep strong contrast. Pale yellow on white will fail.
  2. Avoid inverted codes. Light dots on a dark background are not read by every scanner.
  3. Keep the logo small. It should cover only a modest part of the center, not a large block.
  4. Leave a clear margin. The empty space around the code, called the quiet zone, should be about 4 modules wide. Do not crop it, and do not let text or images touch the edge.
  5. Do not go too decorative. Diamond or dot shapes with a thin, low-contrast color can look good on screen and fail on paper.

Step 4: Download as PNG or SVG

Choose the format by where the code will be used.

If you are not sure, download both. SVG costs nothing extra and saves you from a blurry reprint later.

Print size matters as much as format. A common rule of thumb is about 2 x 2 cm as a minimum for close scanning, such as a business card or a table tent. Go bigger for distance: a code on a poster read from a few meters away needs to be much larger. These are guidelines, not guarantees, so test at the real size.

Step 5: Test with a real phone

Never print a code you have not scanned. Testing takes under a minute:

  1. Open the camera app on your phone and point it at the code on your screen.
  2. Check that the result is exactly what you intended: the right page, the right number, the right WiFi network.
  3. If you have a second phone, try it too. Older and newer devices can behave differently.
  4. Print a draft at the final size, then scan the paper version from the distance people will actually use.
  5. For a WiFi code, try joining from a device that has never connected to that network.

Test again after any change to colors, logo or frame, since each one affects contrast and density.

Do you need an account?

For static codes, no. The data is generated in your browser and is not sent to our servers. The code never expires, because scanning it does not involve us at all. The downside is that you cannot edit it after printing and you get no scan statistics.

Dynamic codes are also free but need a free account. Instead of the final data, the pattern contains a short link on generateqr.link (https://generateqr.link/r/) that redirects to your destination. That gives you two things:

  • You can change the destination later without reprinting.
  • You can see scan statistics: total scans, scans per day, country, city, device type, operating system, browser and referring site. The IP address of the person scanning is not stored.

Dynamic codes are available for URL, Email, Phone, WhatsApp and SMS. WiFi, plain text and vCard are static only. One thing to know: if a dynamic code is paused or deleted, scanning it shows a "not active" page. A static code keeps working no matter what.

A simple way to choose: if the code goes on something permanent or costly to reprint, and the destination might change or you want to measure scans, use dynamic. If it is a WiFi login, a one-off text or something you will never edit, use static.

Common mistakes and how to fix them

  • The code will not scan at all. Check contrast first, then the quiet zone, then the size. Remove the logo temporarily to see if that is the cause.
  • The code scans on screen but not on paper. The print is probably too small or the ink too light. Print larger, use SVG, and use darker colors.
  • The link opens a wrong or broken page. You may have left out https:// or made a typo. Rescan the code and compare the result with the URL you typed.
  • The WhatsApp chat does not open. The number likely contains a plus sign, spaces or dashes. Use digits only, with the country code.
  • The phone number fails abroad. Add the country code to the number.
  • The WiFi code does not connect. Recheck the network name and password for case, and confirm the security type (WPA, WEP or nopass).
  • You printed a static code with the wrong link. It cannot be edited. Create a new one, and consider a dynamic code next time so changes do not require reprinting.
  • The code is too dense. Shorten the URL or text. A shorter payload gives larger modules.

Where to put your code

A QR code works best when it comes with a reason to scan. Add a short line of text near it, such as "Scan for the menu" or "Scan to save our contact", and use the frame text option for it. Place codes where people can point a phone comfortably: at eye level, on a flat surface, with no glare and no curved packaging if possible.

Create your first code

Open the QR code generator, pick your type, enter your data, style it, download the SVG or PNG and scan it before you print. If you want editable destinations and scan statistics, sign up for a free account and create a dynamic code instead.

Make your own QR codeFree, styled and ready to print. Choose static, or a dynamic QR code you can edit later and track with scan statistics.Open the generator

Frequently asked questions

Is it really free to create a QR code?

Yes. The generator is free, works in your browser, and static QR codes need no account. Dynamic QR codes are also free but require a free account.

Will a free static QR code expire?

No. A static code holds the data directly in the pattern, so it keeps working as long as the destination itself (like your website) exists. It does not depend on our servers.

Should I download PNG or SVG?

Use SVG for anything printed, since it stays sharp at any size. PNG is fine for screens and small prints. If you are unsure, download both.

Can I add my logo to a free QR code?

Yes, you can place a logo in the center. The generator uses the highest error correction level (H), which helps the code stay readable, but keep the logo small and test the result with your phone.

Can I see how many people scanned my code?

Only with a dynamic code, which needs a free account. Static codes cannot be tracked because scanning them never touches any server of ours.

Keep reading