Static vs dynamic QR codes — and why most free ones expire
A static QR codeencodes the destination URL directly into the code. It points to exactly one address, cannot be changed, but never expires — because there's no service maintaining it. It will scan correctly as long as the URL it points to is live.
A dynamic QR codeencodes a short URL owned by the QR service. That short URL redirects to your destination. This lets you change the destination without reprinting the code — but it requires the QR service's servers to keep running. When you stop paying, the service kills the redirect and the code stops working.
For most use cases — business cards, menus, flyers, packaging — a static code pointing directly to your URL is the right choice. It is permanent, free, and requires no subscription.
How to generate a free permanent QR code
- Open the free QR code generator
- Paste your URL or enter the text you want encoded
- Choose error correction level (more on this below)
- Download the QR code as PNG or SVG
- Test it by scanning with your phone before using it anywhere
No account required. The code is generated in your browser and downloaded directly — no data is sent to any server.
The error correction setting that most people ignore
QR codes have a built-in redundancy system that lets them scan even when part of the code is damaged or covered. There are four levels:
- L (7%): smallest file, least redundancy — use only for ideal print conditions
- M (15%): good for most uses — standard choice
- Q (25%): useful if the code might get dirty or partially worn
- H (30%): required if you plan to put a logo in the center of the QR code
Higher error correction means the QR code is slightly denser (more squares) and slightly larger. For print materials, use H if you are adding a logo. Use M for everything else.
Minimum size for reliable scanning
The most common QR code failure is making it too small. The minimum reliable size depends on scanning distance:
- Business card (held in hand): minimum 2 cm × 2 cm (about 0.8 in)
- Flyer or poster (read at arm's length): minimum 3–4 cm
- Signage (read from 1–3 meters): scale up proportionally — roughly 1 cm per 10 cm of reading distance
- Outdoor (read from a car or across a room): 15 cm+ minimum
Download the SVG version for print — it scales to any size without pixelation. PNG is fine for digital use on screens.
What URL to point your QR code to
Since a static QR code cannot be changed after printing, the URL choice matters. Best practices:
- Point to a URL you own and control. If you point to your Facebook page and Facebook changes the URL structure, your QR code breaks. Point to yourbusiness.com instead, and redirect from there.
- Use a short URL. Shorter URLs produce simpler QR codes with fewer squares — easier to scan and can be printed smaller. You can shorten any URL with the free URL shortener first.
- Use HTTPS. Some QR scanners warn users before opening HTTP links. Ensure your destination uses a valid SSL certificate.
Adding a logo to your QR code
You can overlay a logo in the center of a QR code. The rule: keep the logo under 25% of the total code area. Above that, you exceed the error correction budget and the code stops scanning.
To do this after generating the code: download the SVG, open it in any vector editor (Figma, Inkscape, Illustrator), place your logo image in the center, and export the final combined image. Always test the final version before printing.
Summary
Generate a permanent, free QR code using the QR code generator— no account, no expiry. Use static codes for anything printed. Use H error correction if you're adding a logo. Download SVG for print. Test before printing.