Blog

QR codes in the real world.

What we've learned about codes that get printed, scanned, and paid for — written for the person who signs off the print run.

yesterdaytodaynext quarterTHE INK IS FIXED. NOTHING ELSE IS.

Latest9 min read

What is a dynamic QR code, exactly? A plain-language tour

A dynamic QR code encodes a short link you can repoint after printing. How the redirect works, what it makes possible, what it costs, and when not to use one.

Read the post

7 min readPrintingEngineering notes

The 26-character cliff: how one character decides scan distance

QR versions grow in steps. At error correction M, 26 encoded characters is the last stop before the grid jumps from 25 to 29 modules — and every module shrinks 14%.

8 min readPrintingReliability

How big should a QR code be? The actual math

QR code minimum size comes from two rules: the 10:1 distance ratio and the 0.5 mm module floor. The arithmetic, the version-boundary trap, and a calculator.

8 min readReliabilityPrinting

Why your QR code doesn't scan: a field diagnosis

A QR code that won't scan fails in one of five places: finding, edges, contrast, size, or payload. Work down the list in order and the culprit names itself.

8 min readDesignReliability

QR codes with a logo: spending the damage budget on purpose

A logo in a QR code works by consuming error correction — the same budget that survives creases and glare. The arithmetic of doing it safely, and the limits.

8 min readRestaurantsOperations

QR code menus: the setup that survives service

How to set up restaurant QR code menus that don't break: dynamic codes for the menu, a static code for Wi-Fi, per-table analytics, and the sizing that works on a table.

9 min readAnalyticsPrivacy

QR code tracking: what you can measure without following anyone

How QR code tracking works, what scan analytics honestly show — city, device, hour, unique visitors — and how to get campaign attribution with zero IPs stored.

8 min readOperationsPackaging

Bulk QR codes from a spreadsheet, without the 3 a.m. surprises

How to generate hundreds or thousands of QR codes from a CSV: the columns that matter, per-row receipts, quota math, and why chunked processing beats one big request.

9 min readSecurityReliability

Quishing: how QR codes get attacked, and what actually defends one

QR phishing works by sticker overlays and repointed destinations. What each attack really is, which defences work, and what a printed code's owner can control.

8 min readBrandingBasics

The URL on the print: why custom-domain QR codes convert

The short URL under a QR code is read before it's scanned. What a custom domain changes for trust, security posture and portability — and how setup actually works.

8 min readOperationsBasics

Before you pick a QR vendor, plan your exit

Printed QR codes outlive subscriptions, pricing changes and vendors. The four questions that decide whether your codes are portable — asked before you print, not after.

9 min readBasicsPrinting

Dynamic vs static QR codes: which one should you print?

Dynamic QR codes can be edited after printing; static ones work forever with no service behind them. How to choose per print job — with a decision rule.

10 min readDesignReliability

Branded QR code design that still scans: the rules that matter

Colours, logos, dot patterns and quiet zones: which design choices break QR codes, which are safe, and how machine verification removes the guesswork.

9 min readPackagingOperations

QR codes on product packaging: a survival guide for print runs

Packaging QR codes outlive campaigns, manuals and regulations. How to set up per-SKU codes, CSV batches and vector exports so a print run never goes stale.