Static QR Code Generator
For URLs, WiFi networks, email and phone numbers. The data lives inside the code, so there is no link to expire and nothing tracking the scan. Your WiFi password is turned into a code in this browser tab and never reaches a server.
How to Make a QR Code That Still Scans After Printing
Pick a type — URL, text, email, phone or WiFi — enter your data, and the code is generated here in the page. Nothing is uploaded and nothing is stored, so the URL you encode is not logged and the WiFi password you type is never transmitted anywhere. You can check that yourself: load this page, turn off your internet, and the tool still works.
The code is static. The data is encoded in the pattern itself rather than pointing at a redirect owned by a QR company. Nothing sits between the scanner and your link, there is no scan counter, and there is no account that can lapse and take the code down with it. The trade is that you cannot change where it points after it is printed.
The PNG comes out around 1000 pixels square, with each module drawn on whole pixels rather than scaled to fit. That is what keeps the edges hard when the code is placed in a print layout — a resized QR code with soft edges is one of the more common reasons a scanner hesitates. The four-module quiet zone required by the spec is included in the file, so the white margin is already there.
Error correction is set to level M, which lets roughly 15% of the code be damaged or obscured and still read. That is the standard choice for print.
What Size Should a QR Code Be?
The working rule is that a QR code needs to be about one tenth of the distance it will be scanned from. Print it smaller than this and phones will hunt for focus.
| Where it goes | Minimum printed size | Scans from about |
|---|---|---|
| Business card | 2 cm / 0.8 in | 20 cm / 8 in |
| Flyer, menu, packaging label | 2.5–3 cm / 1 in | 30 cm / 12 in |
| Poster at eye level | 8–10 cm / 3–4 in | 1 m / 3 ft |
| Window or wall sign | 20 cm / 8 in | 2 m / 6 ft |
| Vehicle, banner, trade show stand | 30 cm / 12 in and up | 3 m / 10 ft and up |
- Putting your WiFi on a card for guests, an Airbnb, or a café table, without typing the password into someone else's website
- Printing a link on a flyer, menu, label or business card so nobody has to type it
- A code that has to keep working for years — on packaging, signage, or anything already in the field
- Any code where you do not want a third party counting the scans or seeing who followed the link
- Putting a phone number or email on printed material so one tap starts the call or the message
Why a QR Code Won't Scan
- Printed too small for the distance — see the table above; this is the most common cause by a wide margin
- The quiet zone was cropped — the white border is part of the code, and designers remove it constantly to tighten a layout
- Resized in a layout program and gone soft — scale in whole multiples, or place the PNG at its own size
- Inverted colors — light code on a dark background fails on many scanners; keep it dark on light
- Too much data — a long URL makes a dense code that needs to be printed bigger to scan at all. Shorten the link first
- Glossy lamination or a curved surface — glare and curvature both defeat the camera before the code is even read
- Never test-scanned in the final printed piece — scan the proof, not the file on screen
Does my WiFi password get sent anywhere?
No. The WIFI: string is assembled in your browser and drawn straight to a canvas. Nothing is posted to a server, and there is no copy of it anywhere afterwards. Load the page, disconnect from the internet, and generate one — it works offline, which is the proof.
My WiFi QR code won't connect. Why?
Usually a password containing a semicolon, colon, comma, backslash or quote mark. Those characters have meaning inside the WiFi QR format, and a generator that does not escape them produces a code that scans fine and then fails to join the network. This tool escapes all of them, so a password like Cafe;2024 encodes correctly. The other common cause is picking the wrong security type — most home networks are WPA/WPA2.
Will this QR code ever expire?
No. Static codes carry the data in the pattern itself, so there is no shortener, no redirect and no account that can be closed. A printed static code works as long as whatever it points at still exists. Codes that stop working are almost always dynamic codes from a service whose free trial ended.
What's the difference between a static and a dynamic QR code?
A dynamic code contains a link to the QR company's server, which then forwards the scanner to your real destination. That lets you change the target later and count scans, but it means the code depends on that company staying in business and continuing to serve you. A static code points directly at your destination and depends on nobody. You cannot change where it goes after printing.
Can I edit the code after I print it?
Not with a static code. If the destination might move, point it at a URL you control — a page on your own site that you can redirect later — rather than at the final address.
Why does my QR code look blurry in print?
Almost always because it was scaled to an odd size, putting module edges on half-pixels. The PNG here is about 1000 pixels square with modules on whole pixels. Place it at that size or scale by a whole number, and do not let a layout program resample it.
Can I add a logo or change the colors?
Not with this tool. It outputs black on white at error correction level M. That is the most reliable combination for print, and it is a deliberate limit rather than a feature that is coming.
Does the scanner need an app?
No. The built-in camera on iOS and Android reads QR codes directly — point and tap the notification. This has been true since iOS 11 and Android 9, so an app-based scanner has not been necessary for years.
How much text can a QR code hold?
Enough for any normal URL. But the more you encode, the denser the pattern, and a dense code has to be printed larger to stay scannable. If you get an error about the data being too long, or the preview looks like static, shorten what you are encoding.
Is the code tracked?
No. There is no redirect and no scan counter. Whoever scans it goes straight to the destination, and neither this site nor anyone else records that it happened.