To make a QR code, choose a type such as URL or WiFi, fill in the fields, and the preview updates as you type. Adjust colors, style or add a logo under Design, then select Download PNG. The code is built in your browser and stores your content directly, so it works without our site and never expires.
How to use the QR code generator
- Choose a QR type. Pick URL, Text, Email, Phone, SMS, WhatsApp, WiFi, Contact, Social or Bulk. The form changes to match.
- Fill in the content. For a link, enter the Website URL and, if you want, UTM Source, Medium and Campaign. The Encoded content box shows exactly what the code will hold.
- Style it. Under Design, set Module Style, colors, QR Size (180 to 900 px) and Error Correction. Upload a Center Logo or add a frame label such as "Scan Me".
- Download and test. Select Download PNG or Download SVG, then scan the file with your phone before you print it.
How to create a WiFi QR code
The WiFi tab turns this page into a WiFi QR code generator: guests point their camera at the code and join without typing the password. Fill in:
- WiFi Name (SSID): the network name exactly as it appears, including capital letters.
- Security: WPA / WPA2 / WPA3 for almost every modern router, WEP for very old ones, or No Password for an open network.
- Password and Hidden Network (Yes only if your router doesn't broadcast its name).
The code holds a standard WiFi string such as WIFI:T:WPA;. Characters like semicolons and colons in your name or password are escaped automatically. The iPhone Camera app and most Android camera apps recognize it and offer to join the network.
The password is stored in the code as plain text, so anyone who can scan it can read it. If you change your router password, the old code stops working and you'll need a new one. A long password from the password generator is still easy to share this way.
Free QR code generator with no expiration: static vs dynamic
Every code made here is static: your link or text is encoded in the black and white squares themselves. Nothing points back to ToolzyLab, so the code keeps working for as long as the content inside it is valid.
Many paid QR services make dynamic codes: a short redirect link on their server that you can re-point and that counts scans. If the plan ends or the company closes, every printed code can break.
| Static (this tool) | Dynamic | |
|---|---|---|
| Expires | Never | When the service or plan ends |
| Edit after printing | No, make a new code | Yes |
| Scan statistics | Use UTM tags in your own analytics | Built in |
| Needs a third party | No | Yes |
To track a static code, fill in the UTM fields in URL mode and read the visits in your own analytics.
WhatsApp QR codes and the other types
For a WhatsApp QR code, enter the number in full international format with digits only: country code first, no plus sign and no leading zero, for example 923001234567. Add a Prefilled Message if you want the chat to open with text ready to send. The code holds a link like https://wa.me/923001234567?text=Hi.
| Type | What the code contains |
|---|---|
| A mailto: link with optional subject and message | |
| Phone | A tel: link that opens the dialer |
| SMS | A number and message for a text |
| Contact | A vCard 3.0 with name, phone, email, company, job title, website and address |
| Social | A profile link for Instagram, Facebook, X, TikTok, YouTube, LinkedIn, Telegram, Snapchat or Pinterest |
Adding a logo and colors without breaking the scan
QR codes carry spare data so they can still be read when part of the pattern is hidden. The Error Correction setting controls how much: Low (L) recovers about 7%, Medium (M) about 15%, Quartile (Q) about 25% and High (H) about 30%. The default is M.
A Center Logo covers part of the code, so when you add one the generator switches to High (H) automatically and keeps it there until you select Remove logo. Keep the Logo Size near the 20% default. Use dark colors on a light background and keep a Quiet Zone of 2 or more; set it to 0 only if your layout already leaves a white margin around the code.
For print, use Download SVG. It's a true vector file drawn from the QR pattern itself, so it stays sharp at any size, and it keeps your colors, module style, frame label and logo (the logo stays the image you uploaded). PNG is handy for screens, documents and messages. For product labels with a number rather than a link, the barcode generator makes EAN, UPC and Code 128 barcodes.
Making QR codes in bulk
Select the Bulk tab, paste one item per line, and pick a Bulk Type: URL, Text, or Instagram, X / Twitter or Facebook usernames. Select Generate Bulk QR, then Download ZIP. Files are named with your File Prefix and a number (qr-1.png, qr-2.png and so on), and your current colors, styles and logo are applied to each one. Each bulk PNG uses your QR Size setting and is at least 512 px wide, enough for a code about 4 cm (1.7 in) across at 300 dpi. For bigger prints, make the code on its own and download the SVG.
Frequently asked questions
Do QR codes from this generator expire?
No. They're static codes with the content stored in the pattern, so no server or subscription can switch them off. A link code only stops working if the website it points to goes offline. There's no sign-up, watermark or scan limit.
How do I make a QR code for my WiFi password?
Select the WiFi tab, enter the network name, choose WPA / WPA2 / WPA3, type the password and download the PNG. Guests scan it with their phone camera and tap to join.
Can I change a QR code after printing it?
No. A static code's content is the pattern itself, so you'd need a new code. If you expect changes, point the code at a page you control and update that page.
Is my WiFi password or data sent to a server?
No. The code is drawn in your browser with JavaScript. Your content, logo and settings never leave your device.
Why won't my QR code scan?
Usually it's low contrast, a logo that's too big or a missing quiet zone. Set Error Correction to High (H), use dark modules on a light background and leave a margin. If you chose Dots or Rounded modules, try Square too.