What is a QR code?
A QR code (Quick Response code) is a two-dimensional barcode that smartphones can scan to instantly access information — no typing required. QR codes can contain URLs, text, WiFi credentials, contact information, and more.
QR code types by content
URL QR Code
Most common use. Encodes a website URL that opens in the browser when scanned. Best for: marketing materials, business cards, product packaging.
WiFi QR Code
Encodes WiFi credentials. When scanned, the phone offers to connect automatically. Best for: homes, offices, cafes, hotels.
Format: WIFI:T:WPA;S:NetworkName;P:Password;;
vCard QR Code
Encodes contact information. When scanned, offers to save contact. Best for: business cards, conference name tags.
Email QR Code
Opens a pre-composed email when scanned. Best for: feedback forms, customer support.
Error correction levels explained
| Level | Recovery | Use when |
|---|---|---|
| L (Low) | 7% | Clean printing, digital display |
| M (Medium) | 15% | General purpose (default) |
| Q (Quartile) | 25% | Slight wear expected |
| H (High) | 30% | Adding logo overlay |
Use Level H when adding a logo — the logo covers part of the QR code, but error correction rebuilds that data.
QR code design best practices
- Contrast: Dark foreground on light background (or vice versa)
- Minimum size: 2cm × 2cm for reliable scanning
- Quiet zone: Always keep the white border (quiet zone) around the QR code
- Test before printing: Scan on multiple devices before distributing
- Logo size: Keep logo to max 20–25% of QR code area
How to generate QR codes free
- Go to QR Code Generator
- Select content type (URL, WiFi, vCard, etc.)
- Enter your content
- Customize colors if needed
- Add logo for branded QR codes (use Level H error correction)
- Download as PNG or SVG
Why QR codes still scan when damaged
The error correction table is not just a robustness setting — it is why a code with a logo covering its centre still works.
QR codes use Reed–Solomon error correction, the same family used on CDs and in deep-space transmission. Redundant data is interleaved throughout the symbol, so the decoder can reconstruct missing information from what survives, up to the level's threshold.
| Level | Recovers | Use for |
|---|---|---|
| L | ~7% | Clean digital display, maximum data |
| M | ~15% | General print — the common default |
| Q | ~25% | Industrial or outdoor labels |
| H | ~30% | Codes with a logo overlay |
The trade is size: higher correction means more redundant modules, so the code becomes denser for the same content, or physically larger to stay scannable. Use H only when you are actually covering part of the code.
Sizing for print
The rule that matters is the ratio of scanning distance to code size: roughly 10:1. A code scanned from 1 metre needs to be about 10 cm across.
The other constraint is the quiet zone — the blank margin around the symbol, specified as four modules wide. Designers routinely crop this to save space, and it is a leading cause of codes that fail to scan on a busy background. Leave the margin.
For print, generate as SVG rather than PNG. QR codes are pure geometry, so a vector stays crisp at any size, while an upscaled PNG produces soft edges that hurt detection.
Contrast and colour
Scanners look for dark modules against a light background. Two failure modes are common:
Inverted codes — light modules on a dark background. Many modern phone cameras handle this, but older and industrial scanners do not. Avoid it for anything printed at scale.
Insufficient contrast. A pastel code on a white background may look elegant and scan unreliably in poor light. Keep the dark modules genuinely dark; if you must use colour, use a deep saturated one and test in dim conditions.
Never place a code over a photograph or gradient.
Static, and permanently so
A QR code encodes a fixed string. Once printed, that string cannot change. If it points at example.com/promo-january and the campaign moves, every printed copy is dead.
The standard solution is a redirect: encode a short URL you control, and change where it points. This also gives you scan analytics, which the code itself cannot provide. The trade-off is a dependency — if the shortener disappears, so do all your printed codes. For long-lived print, use a redirect on your own domain.
The security angle
A QR code is an opaque link. Nobody can read a URL by looking at the pattern, which makes malicious codes an effective phishing vector — including stickers placed over legitimate codes on parking meters and restaurant tables.
Two habits worth having: check the URL preview your phone shows before opening it, and be suspicious of any code that leads to a login or payment page. As a publisher, printing the destination domain in text next to the code lets people verify before scanning.
Frequently asked questions
Do QR codes expire?
The code itself never expires — it is a static pattern. What expires is the destination. Codes from "free QR generator" services sometimes stop working because the provider routed them through their own tracking domain and later disabled it.
How much data fits?
Up to about 4,296 alphanumeric characters at the lowest error correction, but a code that dense is hard to scan. Keep to short URLs; if the content is long, link to it rather than embedding it.
Why does my WiFi QR code not work?
Format sensitivity. The string must be exactly WIFI:T:WPA;S:NetworkName;P:Password;; — including both closing semicolons. Special characters in the password need escaping with a backslash.
Can I put a logo in the middle?
Yes, at error correction level H, covering no more than about 30% of the area and keeping it centred. Test on several devices before printing.
Are the codes generated here private?
They are generated in your browser and never sent to a server, so the destination URL is not logged by anyone. Codes from some online generators route through the provider's tracking domain — worth checking if the destination is confidential.