How to make a QR code that scans every time
Making a QR code takes a few seconds. Making one that still scans when it is printed small, photographed at an angle, or stuck on a shop window takes a little more care. This guide covers both.
1. Pick the right content type
- Website URL: the most common. Use the full address including
https://. - Text: shows plain text on the phone, with no link to tap.
- Email and Phone: opens a pre-filled email or the dialer.
- WiFi: lets guests join a network without typing the password (see the WiFi QR guide).
- vCard: saves a contact to the phone (see the vCard guide).
2. Keep the content short
Every extra character adds modules (the small squares), and denser codes need to be printed larger to scan. Use a short, clean URL rather than one with long tracking parameters. If you need campaign tracking, a couple of short UTM parameters is fine; a 300-character link is not.
3. Choose error correction
QR codes include redundancy so they can be read even when partly damaged or dirty. There are four levels: L recovers roughly 7% of the code, M about 15%, Q about 25% and H about 30%. Higher levels make the code denser. For screens and clean print, M is a good default. Use Q or H for codes that may get scuffed, such as stickers, packaging, or outdoor signs.
4. Keep strong contrast
Dark modules on a light background scan best. Very light foregrounds (yellow, pale grey) and busy photo backgrounds cause failures. Some older scanners cannot read inverted codes (light on dark), so avoid them unless you have tested them on several phones.
5. Leave a quiet zone
The QR standard expects an empty margin around the code, four modules wide. Do not let text, borders, or other graphics touch the edge of the code when you place it in a design.
6. Size it for the scanning distance
A widely used rule of thumb is that the code should be at least one-tenth of the scanning distance. Someone scanning a flyer from 25 cm away needs a code at least about 2.5 cm wide. A poster read from 2 metres away needs about 20 cm. Around 2 cm (0.8 in) is a practical minimum for business cards with a short URL.
7. Download the right format
PNG works for websites, slides, and documents. SVG is a vector file that stays sharp at any size, which is what printers and designers prefer for cards, menus, and signs.
8. Test before you print
- Scan it from the screen with at least two different phones (for example one iPhone and one Android).
- Print one test copy at the real size and scan it in normal lighting.
- Check that the link opens the right page and works on mobile data, not just your office WiFi.
Static codes do not expire
QRSnap makes static codes: your link or data is stored inside the image itself, so there is no service in the middle that can be switched off. The trade-off is that you cannot change the destination after printing, so make sure the URL is one you will keep. More on this in QR codes that never expire.