QR design customization
Every dynamic QR code you build in the dashboard can be tuned along five dimensions: shape, color, contrast, error correction, and security. Here is the full inventory of what you can change today and what is on the roadmap.
Shape
The two structural pieces of a QR pattern can be styled independently.
| Element | Options |
|---|---|
| Dot type (the small modules that make up the body) | square, dot, rounded, classy, classy-rounded, extra-rounded |
| Corner-square type (the three big position-finder squares) | square, dot, extra-rounded |
Rule of thumb: rounded + extra-rounded is the safe, modern default; it is legible on any phone camera and prints well at small sizes. Use dot for a softer look on packaging; use square when you need maximum contrast for small-print scanning.
Color
| Field | Notes |
|---|---|
| Primary color | Color of the dots and corner squares. Hex #rrggbb. |
| Background color | Color behind the pattern. Hex #rrggbb. |
Keep the contrast ratio between primary and background high. A pale grey QR on a white page often fails to scan. Black on white is the safe baseline.
Error correction
ECC is how much of the QR can be physically damaged or occluded before it becomes unreadable.
| Level | Tolerates roughly | Use when |
|---|---|---|
| L (Low) | 7% damage | Best for clean digital surfaces (web, email). |
| M (Medium) | 15% | Default. Right for most print. |
| Q (Quartile) | 25% | Outdoor, packaging that may get scuffed. |
| H (High) | 30% | Heavy print wear, or you plan to overlay a logo. |
Higher ECC means a denser code (more modules), so the printed QR has to be slightly larger for the same scan distance.
Security and expiry
These features stack — you can password-protect and set an expiry, encrypt and set an expiry, all three at once, etc.
| Mode | Behavior |
|---|---|
| Password | A scanner is shown a password prompt before the destination is revealed. |
| Encrypt (AES) | The destination is AES-encrypted at rest. The scanner page decrypts on the client using a key you generate or supply. |
| Encrypt (RSA) | Asymmetric encryption. We show the private key to you once at creation; the scanner uses it to decrypt. |
| Expire | Scans after the chosen date show a branded “expired” page. The QR continues to exist; you can clear or extend the expiry from the QR detail page. |
For encrypted modes, save the generated key the first time it is shown. It cannot be recovered later.
What is not in the dashboard builder yet
- Logo embedding. The library supports it; the UI does not expose it yet.
- A/B sources. Multiple weighted variants per QR, with per-variant scan counts. Coming alongside the campaign editor pass.
If you need either of these today, use the Bulk format or the customer API.