QR Code Advanced Guide: Dynamic vs Static, Tracking, and Why They Can Be Partially Destroyed and Still Work
QR codes can survive up to 30% of their surface area being destroyed or covered — this is the error correction feature, and it's why you can put a logo in the center of a QR code and it still scans. It's also why a scratched restaurant menu QR code might still work. Understanding how QR codes store and recover data explains every design decision, from minimum size to color contrast requirements.
Key Takeaways
- Static QR codes embed the URL directly — once printed, the destination can never change without reprinting
- Dynamic QR codes embed a short redirect URL — the destination can be changed anytime, and scans can be tracked
- Error correction level H allows 30% damage recovery — required when placing a logo in the center of a QR code
- Minimum contrast ratio 3:1 between modules and background — dark QR on light background is most reliable; avoid light-on-dark
- Quiet zone (white border) of 4 module widths is required — QR codes touching the edge of a design regularly fail to scan
Static vs Dynamic QR Codes
Static QR codes encode the actual destination URL directly in the black-and-white pattern. Once generated and printed, the URL is permanent. If your website URL changes, the QR code is permanently broken. The advantage: no third-party dependency, no expiry, works forever as long as the pattern is intact.
Dynamic QR codes encode a short redirect URL (like qrco.de/xxxxxx or a custom domain). When scanned, the redirect service forwards to wherever you've currently configured the destination. You can update the destination URL at any time — useful for seasonal campaigns, changing offer pages, or correcting a mistake after printing. Most dynamic QR services also provide scan analytics: time, location, device type.
| Feature | Static QR | Dynamic QR |
|---|---|---|
| URL changeable after printing | ❌ No | ✓ Yes |
| Scan analytics | ❌ No | ✓ Yes (time, location, device) |
| Third-party dependency | ✓ None | ⚠️ Service must stay live |
| QR code size | Smaller (less data) | Larger (encodes short URL) |
| Cost | Free | Usually paid service |
| Best for | Personal URLs, WiFi credentials, vCards | Print campaigns, marketing, menus |
| Expiry risk | Never expires | Service could shut down |
Design Rules That Actually Prevent Scan Failures
Do
- ✓ Use dark modules on light background (highest contrast)
- ✓ Maintain 4-module quiet zone (white border) around the code
- ✓ Minimum print size: 2cm × 2cm for standard scan distance
- ✓ Use Error Correction H when adding a center logo
- ✓ Always test scan on the final printed/rendered output
Don't
- ✗ Light QR on dark background (some scanners struggle)
- ✗ Place QR code on curved surfaces without testing
- ✗ Use very long URLs in static QR (massive, dense code)
- ✗ Skip the quiet zone (bleed to edge breaks orientation)
- ✗ Use EC level L with a center logo (insufficient recovery)
Generate a QR Code
QR Code Generator
Generate static QR codes for URLs, text, WiFi credentials, vCards, and email — with size and error correction level controls. Download as PNG or SVG.
Open QR Generator →