# The QR code design checklist

> Twelve checks before a QR code ships — payload correct and short, HTTPS, error-correction level chosen, contrast at least 40%, dark-on-light polarity, quiet zone 4 modules or more, logo under the coverage budget, size at least distance ÷ 10, vector export, no stretching or cropping, decode-verified, and a proof scanned from the final medium.

Source: https://useqr.app/docs/design/qr-code-design-checklist · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## Why the order matters

The checks run payload-first because the payload sets the density, the density sets the
module size, and the module size decides whether every later styling decision survives.
Fixing the payload after the artwork is approved means redoing the artwork. This list
covers the design side; its companion, the
[print checklist](/docs/print/qr-code-print-checklist), covers press mechanics — colour
spaces, stock, lamination — once the design is frozen.

## The twelve checks

1. **Payload correct.** Open the exact URL in a browser — not from memory, from the
   clipboard that feeds the generator. Wrong-destination codes are a
   [category of their own](/docs/troubleshooting/qr-code-opens-wrong-link).
2. **Payload short.** Every character raises density and shrinks modules at a given
   print size — the mechanism is in
   [why longer URLs make denser codes](/docs/spec/why-longer-urls-make-denser-codes).
   Shorten [before generating](/docs/how-to/how-to-shorten-a-url-before-making-a-qr-code).
3. **HTTPS.** Phones treat plain `http://` destinations with suspicion, and so do users
   reading the scan prompt.
4. **Error-correction level chosen, not defaulted.** M for plain codes, Q or H when a
   logo is coming — the trade-offs are in
   [error correction levels explained](/docs/spec/error-correction-levels-explained).
5. **Contrast ≥ 40% luminance difference**, measured, not eyeballed — rules in
   [colours that scan](/docs/design/qr-code-colors-that-scan).
6. **Polarity dark-on-light.** No inverted codes, and no theme or dark-mode context that
   silently [flips the polarity](/docs/design/qr-code-in-a-dark-mode-website).
7. **Quiet zone ≥ 4 modules** on every side, scaling with the code, surviving every
   layout crop — see [aspect and padding](/docs/design/qr-code-aspect-and-padding).
8. **Logo under budget**: within the
   [coverage limit for the chosen EC level](/docs/design/logo-size-limits-by-error-correction-level),
   central, clear of the corner squares.
9. **Size ≥ distance ÷ 10.** Check against the real viewing distance with the
   [size calculator](/size-calculator) or the
   [size-by-distance table](/docs/reference/qr-code-size-by-distance-table).
10. **Vector master.** The deliverable is [SVG](/docs/print/why-you-should-print-qr-codes-from-svg);
    any raster export is made at final size, **300 DPI minimum**.
11. **Decode-verified.** The final artwork — not the generator preview — decodes to the
    exact payload in the [validator](/validate). Every code UseQR generates is rendered
    and read back with a real decoder before download; the reasoning is in
    [why verify that your QR code decodes](/docs/developers/why-verify-that-your-qr-code-decodes).
12. **Proof from the final medium.** Print one, scan it with at least two phones at the
    real distance, in the real lighting — the protocol is in
    [testing before printing](/docs/how-to/how-to-test-a-qr-code-before-printing).

## Using the list

Checks 1–4 belong to whoever owns the content; 5–10 to the designer; 11–12 to whoever
signs off the artwork. The expensive failures — a reprinted run, a dead code on 10,000
boxes — happen in the gaps between those owners, which is what a written checklist is
for. When a check fails, the [ten design mistakes](/docs/design/qr-code-design-mistakes)
page maps each failure to its fix.

## FAQ

### What should I check before printing a QR code?

In order: the payload opens correctly, it is as short as possible, error correction fits
the design, contrast and polarity hold, the quiet zone is 4 modules or more, any logo is
under budget, the size matches the viewing distance, the artwork decodes in a validator,
and a printed proof scans on at least two phones.

### What is the correct order for QR design decisions?

Payload first, then error correction, then styling, then size, then verification. The
payload sets density, density sets module size, and module size determines how much
styling and distance the code can absorb.

### Who should run the QR design checklist?

Split it: content owners confirm the payload checks, designers own contrast, quiet zone,
logo and size, and whoever approves final artwork owns decode verification and the
printed proof. Codes fail in handoffs, not in any single step.

### Is this the same as a print checklist?

No — this list freezes the design; the print checklist governs what happens at the press:
colour conversion, stock, ink spread, lamination. Run the design list first, the print
list at handoff, and neither substitutes for the other.

## Try it

- https://useqr.app/validate
- https://useqr.app/url
- https://useqr.app/size-calculator
