QR Code Generator
Turn a link or a short text into a QR code and download it as PNG or SVG. It runs in your browser: nothing you type is sent anywhere, and the code never expires because it is not tied to any redirect service.
A QR code brings people from print, packaging or a slide to your web page in one move. Codes made with this tool are static: the link is inside the code, it is not tied to a subscription or a redirect service, and it never expires.
How to use it
- Enter your link or text. If you came from the UTM Link Builder, the link is already there.
- Choose the error correction level: M for screens, Q for print, H if you will put a logo in the middle.
- Change the colours if you like; the tool warns you if the contrast is low.
- Download as PNG or SVG, and test with two different phones before printing.
Frequently asked questions
Do the QR codes expire?
No. This tool makes static QR codes; the link is inside the code. It works for as long as the page it points to exists.
What is the difference between static and dynamic QR codes?
A dynamic code holds the address of a redirect service; you can change the target later, but it stops working if the service closes or the subscription ends. A static code has no such risk, but a new target needs a new code.
PNG or SVG for print?
SVG is better for print and design files; it stays sharp at any size. PNG is fine for the web and social media.
How small can a QR code be printed?
As a rule, at least 2 × 2 cm and about a tenth of the scanning distance. Do not crop the white border; it is part of the code.
How do I measure scans?
Tag the link with utm_medium=qr in the UTM Link Builder first. Scans then show up as their own channel in Google Analytics.
Getting a QR code that actually scans
- Test before you print. Scan it with two different phones, at the size it will really be printed.
- Keep it big enough. On print, at least 2 × 2 cm; scale up with viewing distance (roughly 1 cm per 10 cm of distance).
- Keep the contrast high. A dark code on a light background is read by every scanner. Light-on-dark (inverted) codes are not.
- Leave the white border. The empty margin around the code (the quiet zone) is part of it; don’t crop it.
- Choose the level for the job. M is right for screens and most print. Use Q on rough surfaces, and H if you will place a small logo in the middle.
- Tag the link. Build it with
utm_medium=qrin the UTM Link Builder so scans show up as their own channel in Analytics. - Shorter links make simpler codes. Fewer characters mean fewer, larger modules, which scan faster.
This generator creates a static QR code: the link is inside the code itself. It keeps working for as long as the page it points to exists, with no subscription or expiry.