QRsome

Static vs dynamic QR codes, and how to make one that scans

What is inside a static and a dynamic QR code, when each one makes sense, and five rules that keep a styled code readable.

A QR code is a grid of dark and light squares (modules) that stores a short piece of text. What that text is decides what the code can and cannot do later.

Static codes hold the content itself

A static code stores the content directly: a URL, a WiFi network and password (WIFI:T:WPA;S:Cafe;P:latte;;), a contact card, a phone number. Nothing sits between the code and the content, so it works forever and offline, and no service can turn it off.

The catch: it cannot change. A typo in the URL, or a new menu, means a new code and a reprint.

Use static codes for WiFi passwords, contact cards, and links that will not change.

Dynamic codes hold a short link

A dynamic code stores a short link, such as https://qrsome.com/r/k3X9mPq. Scanning it opens the short link, which redirects to your real URL. Because the redirect lives on a server:

  • you can change where the code points after it is printed;
  • every scan passes through the server, so scans can be counted by day, country and referrer.

The trade-off is that the code depends on that short link existing. Delete the dynamic code and printed copies stop working. On QRsome that is the only thing that stops one: dynamic codes do not expire and have no scan cap.

Use dynamic codes for menus, flyers, packaging and anything printed in quantity.

Five rules for a styled code that still scans

  1. Dark on light. Phones look for dark modules on a light background. Light codes on dark backgrounds fail on many phones, so QRsome refuses them.
  2. Enough contrast. QRsome requires a contrast ratio of at least 3:1 between every foreground color (both ends of a gradient) and the background. Pastel on white does not make it.
  3. Keep the quiet zone. The margin around the code (2 modules by default) tells the camera where the code ends. Do not print text or borders right up against it.
  4. Logos need error correction. A logo hides part of the code. With a logo QRsome switches to error correction level H, which survives about 30% damage, and keeps the logo plate under 22% of the width.
  5. Size for the distance. As a rule of thumb, the code should be at least a tenth of the scanning distance: 2 cm wide for a business card read at 20 cm, 30 cm wide for a poster read from 3 m.

Rounded modules, dots and round eyes all scan fine when these rules hold. Every QRsome style is tested against two different decoders before it ships.