How to make a free QR code that never expires
Updated 16 October 2026
Many people discover the hard way that their “free” QR code has stopped working, usually after it has been printed on hundreds of flyers. The reason is almost always the kind of code they made.
Dynamic and static QR codes
A dynamic QR code does not contain your link. It contains a short link to the QR service’s own server, which then forwards visitors to your page. That lets the service count scans and lets you change the destination, but it also means the code only works as long as the service keeps forwarding. Many free plans stop after a trial period or a number of scans, or start showing ads.
A static QR code contains your content itself: the web address, the Wi-Fi details or the contact card is stored in the pattern of squares. There is no server in between, nobody counts the scans, and the code works as long as the printout exists. The only limitation: you cannot change what a printed static code says.
Make a static QR code
- Open the QR code generator and choose the type: Website, Text, Wi-Fi, Contact card or Email.
- Enter the content. The preview updates as you type.
- Choose the error correction. Higher levels keep the code readable when part of it is dirty, scratched or covered, but make the pattern denser: Low (7%), Medium (15%), Quartile (25%) or High (30%). Medium suits most uses; choose High for codes printed outdoors.
- Pick colours if you like. Keep a dark code on a light background; the tool warns you when the contrast is too low for some phones.
- Download a PNG for screens and documents, or an SVG for printing at any size.
Wi-Fi codes for guests
A Wi-Fi QR code lets guests join your network by pointing their camera at it, without typing the password. It works on current iPhones and Android phones. If you change the Wi-Fi password, make a new code.
Before you print
- Test the code with two different phones, from the distance people will scan it.
- Point it at an address you control, such as your own website, rather than a page that might move. Then the printed code keeps working even when the page behind it changes.
- Keep a quiet zone: the white border around the code is part of it. Do not crop it.
Codes are made in your browser and contain only what you typed: there is no tracking link and no account.