Create QR codes that never expire
A QR code is a square barcode that phones can scan with their camera to open a link, join WiFi or start a chat. QR codes were invented in 1994 by Denso Wave, and today they are used on menus, business cards, flyers, packaging and shop windows. You can read about their history on the official QR code site.
Many "free" QR websites create dynamic codes that send scans through their own server, and some stop working unless you pay. This QR code generator creates static QR codes: the information is stored inside the code itself, so it works forever and does not depend on us.
QR code types
- URL / Text: a website link or any text
- WiFi: guests scan to join your network without typing the password
- Email: opens a new email with the address, subject and message filled in
- Phone: dials your number
- WhatsApp: opens a chat with your number and an optional pre-filled message
How to make a QR code
- Choose the type and fill in the details. The QR code updates live.
- Choose the size, error correction level and colors.
- Click Download PNG for print and social media, or Download SVG for designers and large printing.
- Test it by scanning it with two different phones before you print.
Design tips for QR codes that scan
- Keep strong contrast. Dark code on a light background works best. Light codes on dark backgrounds fail on some scanners.
- Do not make it too small. For print, use at least 2 × 2 cm, larger if people scan from a distance.
- Keep the white border (the quiet zone) around the code. The tool adds it for you.
- Shorter content means a simpler code that scans more easily. Use short URLs where possible.
- Choose High error correction if the code may get scratched or if you plan to place a small logo over it.
Track scans from your QR codes
Static QR codes cannot count scans by themselves. The trick is to add UTM parameters to your link, for example utm_source=flyer&utm_medium=qr. Then Google Analytics shows how many visits came from that QR code. Build the link with our UTM Link Builder, then paste it here.
Choose brand colors with the Color Picker, and create a strong WiFi password with the Password Generator. See all text and developer tools.
Static vs. dynamic QR codes
| Static (this tool) | Dynamic (paid services) | |
|---|---|---|
| Content | Stored directly inside the code | A short link that redirects |
| Expiry | Never expires | Stops working if the subscription ends |
| Edit after printing | No | Yes |
| Scan tracking | Use UTM links | Built into the service |
| Cost | Free | Usually monthly fee |
Static codes are perfect for most uses because nothing can break them later. If you want tracking, add UTM tags to your link with the UTM Builder before creating the code.
Error correction levels
QR codes contain extra data so they still scan when part of the code is dirty, scratched or covered:
- Low (about 7 percent) - simplest code, best for screens.
- Medium (about 15 percent) - good default for print.
- Quartile (about 25 percent) - for outdoor use or rough surfaces.
- High (about 30 percent) - if you plan to place a small logo on top.
Higher error correction makes the pattern denser, so print it a little larger. The QR code standard is maintained as ISO/IEC 18004, and DENSO WAVE, the company that invented the QR code, explains the basics on its website.
Ideas for businesses
- Restaurant menus on tables, linking to a menu page or PDF.
- WhatsApp ordering: a code that opens a chat with a pre-filled message.
- Guest WiFi: visitors scan to join without typing the password.
- Business cards linking to your website or contact page.
- Product packaging linking to instructions or a video.
- Shop windows and flyers with a special offer page.
- Google reviews: link to your review page to collect more reviews.
Print size and placement
As a rule of thumb, the code should be at least 2 x 2 cm for close scanning (business cards) and larger for posters; a common guideline is a size of about one tenth of the scanning distance. Keep a quiet border of white space around the code, use dark colours on a light background, and avoid placing it over folds or curved edges. Always test-scan the printed proof with two different phones before printing hundreds of copies.
PNG or SVG?
Download PNG for websites, social media and documents. Download SVG for print: it is a vector file, so it stays perfectly sharp at any size, from a sticker to a banner. If you need a smaller file for the web, run the PNG through the Image Compressor.
Step-by-step: a WhatsApp ordering code for your shop
- Choose the WhatsApp tab.
- Enter your business number with the country code and digits only, for example
923001234567. - Add a pre-filled message such as "Hi, I want to place an order".
- Choose Medium error correction and a size of 800 px or larger for print.
- Download the SVG file and send it to your printer, or the PNG for social media.
- Print a test copy, scan it with two different phones and check that WhatsApp opens with your message ready.
Place the code on your counter, delivery bags, flyers and Instagram posts. Customers can start an order in one tap without saving your number. To see how many people use it, link to a page with UTM tags from the UTM Builder instead.
Frequently Asked Questions
Do these QR codes expire?
No. They are static codes with the data inside them, so they work as long as the link or information is valid.
Can I change the link after printing?
No. Static codes cannot be edited. Point them to a page you control, so you can change that page instead.
Is PNG or SVG better?
PNG is best for screens and normal printing. SVG can be scaled to any size without blur, which is ideal for banners.
Is it free for business use?
Yes, completely free with no watermark.
Why does my phone not scan the code?
Common causes are low contrast, light-on-dark colours, a code printed too small, or a missing white border. Try black on white first.
Can I put my logo in the middle?
Yes, if you choose High error correction and keep the logo small. Always test the result before printing.
How much text can a QR code hold?
Up to a few thousand characters, but shorter content creates a simpler code that scans faster.
Last updated: October 25, 2026