Static QR codes: what that means
A QR code is a grid of dark and light squares called modules. The pattern stores a short piece of text. When a phone camera reads it, the phone decides what to do from how that text starts: https:// opens a website, WIFI: offers to join a network, and BEGIN:VCARD offers to save a contact.
Every code made here is static. The data sits inside the pattern itself, so:
- It never expires. There is no account or subscription behind it, so nothing can be switched off.
- Nothing is tracked. Scans go straight to your link or data, not through a redirect server that counts them.
- Nothing is stored. The code is drawn in your browser. Your text, passwords and logo stay on your device.
The trade-off is that you can’t edit a static code after printing it. To change the link, make a new code. Some paid services sell “dynamic” codes instead. Those contain a short link to the company’s server, which then redirects people to your page. That is how they count scans, and it is also why those codes stop working if the service closes or the subscription ends.
What each type stores
| Type | Text inside the code | Example |
|---|---|---|
| URL | The web address | https://example.com/menu |
| Wi-Fi | Network name, security and password | WIFI:T:WPA;S:Home;P:secret123;; |
| A mailto link | mailto:hello@example.com?subject=Booking |
|
| Phone | A tel link | tel:+442079460958 |
| SMS | Number and message | SMSTO:+447700900123:Hello |
| Contact | A vCard 3.0 card | BEGIN:VCARD … END:VCARD |
| A wa.me chat link | https://wa.me/923001234567?text=Hi |
|
| Location | A geo link | geo:51.5074,-0.1278 |
Open Show the encoded text under the preview to see exactly what your code contains.
Worked example: a guest Wi-Fi code
Say your network is called Cafe;Guest and the password is coffee:2024. In the Wi-Fi format, semicolons separate the fields and colons separate each label from its value. So the tool puts a backslash in front of any \, ;, ,, : or " inside the name and password:
That is 41 bytes. At the default error correction level (M), it fits in a version 3 code of 29 × 29 modules. Print it on a table card and guests can join without typing anything.
Error correction and logos
QR codes use Reed–Solomon error correction, the same family of maths that lets a scratched CD still play. Extra recovery data lets a scanner rebuild parts of the code that are dirty, torn or covered. You choose how much:
| Level | Can recover about | Most data in one code |
|---|---|---|
| L | 7% of the code | 2,953 bytes |
| M | 15% | 2,331 bytes |
| Q | 25% | 1,663 bytes |
| H | 30% | 1,273 bytes |
Higher levels need more modules for the same data. The address https://example.com/menu fits in 25 × 25 modules at level M, but needs 29 × 29 at level H. Use M for screens and indoor print. Choose Q or H for codes that may get scuffed, such as stickers outdoors.
A centre logo hides part of the pattern, so the tool locks error correction to H and keeps the logo box to about a fifth of the code’s width. That leaves spare capacity, but logos with fine detail can still confuse some scanners, so test with more than one phone.
Getting a code that scans every time
- Keep the data short. Every extra character adds modules, and denser codes need sharper printing. Tracking tags make a big difference:
https://example.com/menuis a 25 × 25 code, but adding three utm tags makes it 84 bytes and 37 × 37 modules. Avoid link shorteners if you want a code that never expires, because they add a redirect that can disappear. - Use dark on light. Aim for a contrast ratio of at least 4:1. Light codes on dark backgrounds (inverted codes) fail on many scanners, so the tool warns you about them.
- Leave the quiet zone. The blank border tells the scanner where the code starts. Four modules is the standard; below two, scanning gets unreliable.
- Print it big enough. A common rule of thumb is a width of at least one tenth of the scanning distance, and never less than about 2 cm (0.8 in). Download the SVG for print so the edges stay sharp at any size.
- Test before you print. Try an iPhone camera and an Android phone, in ordinary light, from the distance people will really scan from.
For more on static vs dynamic codes, Wi-Fi codes and how big to print, read how to make a QR code.
Privacy and security tips
A Wi-Fi code contains the password in plain text, so anyone who scans it can read it. Put it where only your guests can see it, and consider a separate guest network. If you change the password, print a new code. For a strong new one, use the password generator.
For SMS codes, check the message length with the character counter, because long texts can be split into several messages. If you need unique codes for tickets or asset labels, create IDs with the UUID generator and encode each one as Text.
Before you scan a code in public, look at the preview your phone shows. A sticker can be placed over a real code to send people to a fake site, so check the address before you enter a password or pay.
QR Code is a registered trademark of DENSO WAVE INCORPORATED.