Expiring & Password-Protected QR Codes
A dynamic QR code checks in with a server on every scan — which means it can also decide, on each individual scan, whether it should still work at all. That's not something a static code can ever do.
Two ways a code can expire
By date. Set an expiration date on any dynamic code, and it stops redirecting once that date passes — useful for anything tied to a specific window: a seasonal menu, a promotion that legitimately ends, an event that's over. After expiry, anyone who still scans the printed code lands on a plain "this code has expired" page instead of your old destination, rather than a broken link or, worse, silently landing on whatever content happens to still be live there.
By scan count. Set a maximum number of scans instead of, or alongside, a date — the code stops working once it's been scanned that many times, regardless of when. This is the right tool for anything meant to be used a limited number of times: a one-per-customer offer, a fixed number of entries, an access code meant for a specific-sized group.
Password-protected codes
A dynamic code can also require a password before it reveals its destination at all — the scan lands on a password prompt first, and only redirects once the right password is entered. This is useful for content you want to share narrowly: a private document, a members-only page, something you're handing to a specific group rather than publishing to anyone who happens to photograph the code.
Worth being direct about what this is and isn't: it's a practical gate against casual, unintended access — someone glancing at a code on a desk, or a code that ends up somewhere more public than intended. It is not designed as a substitute for real authentication on genuinely sensitive material. Treat it the way you'd treat a shared office WiFi password: fine for keeping something semi-private among people you've told the password to, not something to rely on for anything that needs to withstand a determined attempt to get in.
Combining expiry with tracking
Expiry and password protection both work alongside the same scan tracking every dynamic code gets — you can watch scans accumulate right up to the expiry date or scan limit, which is often the more useful number anyway: not just "did people scan this" but "did it run out before or after the audience actually saw it."
Frequently asked questions
Can I set both a date and a scan limit on the same code?
Yes — the code expires as soon as either condition is met, whichever comes first.
What happens if someone scans an expired code?
They land on a plain expiry page instead of being redirected. It's a controlled outcome, not a broken link or an error.
Can I extend the expiry date after the code is already printed?
Yes — the expiry rule lives on the dynamic link, not in the printed code itself, so you can change the date, raise the scan limit, or remove the restriction entirely at any time without reprinting anything.
Is password protection available on the free plan?
See the pricing page for exactly what's included at each tier.