A QR code (Quick Response code) is a two-dimensional barcode that any modern smartphone camera can read on its own — no dedicated scanner app required. Unlike a standard barcode, which only stores data along one line, a QR code stores it across a grid, both horizontally and vertically. That's the whole trick behind why such a small square can hold a full web address, a WiFi password, or a complete contact card: it's using two dimensions of space instead of one.
What can a QR code actually contain?
People tend to think of QR codes as "a way to open a website," and that's the most common use by far, but the format itself doesn't care what kind of data it's carrying. The same black-and-white grid can encode:
- Website URLs — the most common use, and the only content type flexible enough to point anywhere
- Contact details as a vCard, so scanning saves someone straight to a phone's address book
- WiFi network credentials, so a guest joins without typing a password
- Plain text — a note, a serial number, anything that doesn't need to be a link
- Email addresses, phone numbers, and SMS messages, each pre-filled and ready to send
- App Store and Google Play links, often routed by device so iOS and Android land in the right store
- Calendar events, map locations, and several other structured formats
What changes between these types isn't the QR code itself — it's what the scanning device does with the decoded text. A URL opens a browser. A vCard-formatted string prompts "add to contacts." The QR code is just the delivery mechanism; the format of what's inside decides the behaviour.
How does scanning actually work?
Every QR code has three squares in its corners — the "finder patterns" — that tell the scanner's software where the code is, which way it's rotated, and where its edges fall, even if the photo was taken at an angle. Once the phone's camera locates those, it reads the grid, corrects for any misread modules using the code's built-in error correction, and decodes the payload. On any reasonably modern phone (iOS 11 and newer, Android 8 and newer) this happens automatically in the native Camera app — you point the camera, a small banner appears with the decoded content, and tapping it takes you straight there. Older Android versions sometimes need a separate scanner app if the camera doesn't detect codes automatically.
Static vs dynamic QR codes
There are two fundamentally different kinds of QR code, and the distinction matters more than any of the design options. A static code has its destination baked directly into the pattern — once it's printed, that content can never change, because changing it means printing a different code. A dynamic code instead encodes a short redirect link; scanning it hits a server that looks up the current destination and forwards the scanner there, which means you can update where it points at any time without touching the printed code. Unqode SmartQR creates dynamic codes by default for exactly this reason — see the full comparison for when a static code is still the better call.
If there's any chance you'll want to fix a typo, change an offer, or just see how many people scanned it, use a dynamic QR code. The only real cost is needing an account — and on Unqode SmartQR, that account is free.