How to make a QR code
- Choose what the code should do: open a link, show text, join a WiFi network, save a contact, start an email or start a text message.
- Fill in the fields. The preview updates as you type, and the checks under it warn you about weak contrast, a thin quiet zone or a code that is getting too dense.
- Set the colors, size and error correction. Add a logo if you want one.
- Download a PNG for screens and documents, or an SVG for print, where it scales to any size without blur.
- Scan the result with two or three different phones before you print anything.
Static QR codes: what you get here
This free QR code generator makes static codes. The link, text or login is stored in the black and white pattern itself, so the code never expires and keeps working without any account or subscription. Nobody can switch it off, because there is no server in the middle.
Many paid services sell "dynamic" QR codes instead. Those encode a short link on the provider's domain that redirects to your page. That lets you change the destination later and count scans, but the code depends on the provider: if the plan ends or the company shuts down, printed codes can stop working. Read the terms before you put a dynamic code on packaging that will be around for years.
The trade-off is honest: a static code cannot be edited after printing and does not count scans on its own. If you need flexibility, encode a URL on your own domain that you can redirect yourself.
What each QR code type does
URL and text
A URL code opens the page in the phone browser. Plain text is shown on screen and is useful for coupon codes, serial numbers or short instructions. Text in any language works, because the generator encodes UTF-8.
WiFi QR code
A WiFi QR code uses the standard WIFI:T:WPA;S:name;P:password;; format that the camera apps on current iPhone and Android phones understand. Guests scan and join without typing the password. Special characters such as ;, ,, : and quotes are escaped for you. Remember that anyone who can photograph the code can read the password, so use a guest network.
vCard QR code
A vCard QR code holds a contact card in vCard 3.0 format: name, company, job title, phone numbers, email, website and address. Scanning it offers to save the contact. It suits business cards, name badges and booth signs. Every field you add makes the code denser, so leave out what people do not need.
Email and SMS
An email code opens a new message with the address, subject and body filled in. An SMS code opens a text message to your number with an optional message, which works well for opt-in keywords. The person still has to press send.
How to track scans with a static code
A static code does not count scans, but your analytics can. Before you make the code, add UTM tags to the link with our free UTM builder, for example utm_source=flyer, utm_medium=qr and a campaign name. Every scan that opens the page then shows up in GA4 under that source and campaign. Use a different utm_content value per placement (poster, table tent, packaging) to compare them.
Print checklist
- Size. Test the printed size at the real scanning distance. A code on a business card is read from a hand's length; a poster across a room needs to be much larger. Short content gives fewer, bigger modules and scans more easily.
- Contrast. Dark modules on a light background work best. Light codes on dark backgrounds are not read by every scanner, and pastel on white often fails in dim light. The tool warns you when contrast is low.
- Quiet zone. Keep an empty margin of about four modules around the code. Without it, scanners can confuse the code with the design around it.
- Logo. A logo covers part of the pattern, so the generator switches to error correction H and keeps the logo small. Always test a code with a logo before printing.
- Format. Send SVG to your printer. Use PNG at 1024 px or more for slides and documents.
Error correction levels
QR codes add redundant data so they still scan when part of the code is dirty, damaged or covered. Level L restores about 7% of the data, M about 15%, Q about 25% and H about 30%. Higher levels make the code denser. M is a good default; use H for logos or for codes printed on surfaces that get scratched.
Looking for more free tools? Browse the free AI generators and tools hub, write the post that goes with your code using the caption and hashtag generator, or plan the whole campaign with the content plan generator.
FAQ
Is this QR code generator really free?
Yes. There is no sign-up, no watermark and no limit on downloads. The codes are created in your browser, so your links, WiFi passwords, contact details and logo are not uploaded to our servers.
Do these QR codes expire?
No. They are static QR codes: the content is stored in the pattern itself, not behind a redirect. They keep working as long as the link or data inside them is valid, with no account or subscription needed.
Can I track how many people scan my QR code?
A static code does not count scans by itself. Add UTM tags to your link before you create the code, for example with our free UTM builder, and the visits from scans will show up in Google Analytics under that source and campaign.
Can I edit a QR code after it is printed?
No. The content is part of the printed pattern, so changing it means printing a new code. If you expect the destination to change, encode a URL on your own domain and redirect that URL to wherever you need.
How do I add a logo to a QR code?
Open Design and export, choose an image under Center logo and pick a size. The generator switches to the highest error correction level, H, and keeps the logo small so the code stays readable. Test the result with a few phones before printing.