What a QR code actually stores
A QR code is a two-dimensional barcode that holds up to about 3 KB of text. For a URL it stores the URL itself — there is no redirect service involved, which is why these codes never expire and never stop working when a subscription lapses.
Choosing error correction
Higher correction means more redundancy and a denser code. L (7%) is smallest and fine for clean digital screens. M (15%) is the sensible default for print. Q (25%) suits stickers and packaging. H (30%) is required if you plan to overlay a logo.
Getting the physical details right
- Keep a quiet zone of at least four modules around the code
- Print at 2cm minimum for close scanning, 3–4cm for posters
- Dark modules on a light background only — never invert
- Test at the real distance with a real phone before printing 1,000 of them
Why short URLs scan faster
Every extra character increases module density. A 20-character short link produces a visibly coarser code than a 200-character UTM-tagged URL, which is easier to scan at distance and survives cheaper printing. Trim tracking parameters when you can.
Frequently Asked Questions
Do these QR codes expire?
No. They are static codes with no redirect service, so they work forever.
Can I change the destination later?
Not without generating a new code — static codes store the URL directly. Use a short-link service if you need editability.
What is the best size to print?
At least 2cm square for phone scanning at 20–30cm; scale up with viewing distance.
Privacy & Your Data
CSSmith runs entirely in your browser. Whatever you type, paste or upload is processed on your own device and never sent to a server — there is no backend to store it.