The blog

Notes from the QR underbelly.

Honest write-ups about how the QR industry actually works, what to watch out for, and how to make codes that scan from across the room.

Latest post

Do QR codes expire?

Static QR codes don't expire. Dynamic QR codes don't expire either — but the redirect behind them might, depending on who runs it. Here's the actual answer in 90 seconds.

Joe

How do QR codes work?

A short, honest tour of what's actually going on inside those little black-and-white squares — finder patterns, error correction, and why a damaged QR still scans.

Joe

Why isn't my QR code scanning? A short troubleshooting guide

Eight specific reasons QR codes fail in the real world, ranked roughly by how often each one is the culprit. Most failures are physical, not technical.

Joe

Can someone track you when you scan a QR code?

Sometimes — and it depends entirely on whether the code is static or dynamic, plus what's at the other end. Here's the actual mechanics, and what AFQR does (and doesn't) record.

Joe

Can QR codes contain viruses or malware?

Short answer: no, the QR itself can't carry malware. The risk is whatever the QR points to — and there are a few specific scams worth knowing about.

Joe

Print-ready QR codes: contrast, size, and the logo question

Practical rules for QR codes that actually scan from a poster, a business card, or a sticker — and what to do about the embedded logo trend.

Joe

Static vs dynamic QR codes: which one do you actually need?

Most people pick the wrong type of QR code for their use case. Here's a 60-second decision framework based on what's actually going on under the hood.

Joe

The 14-day expiration trick: how 'free' QR sites actually work

An honest tour of the standard freemium playbook in the QR industry, what's really happening when your code stops scanning, and how to tell before you print 500 flyers.

Joe

Why we built Actually Free QR Codes

The QR-code-as-a-service industry runs on a 14-day clock and a wall of upgrade prompts. We built the alternative we wanted to use.

Joe