About QR Codes
A QR code is a two-dimensional barcode. Where the striped barcode on a cereal box holds about a dozen digits across one line, a QR code stores data in a grid, in both directions at once — which is where the capacity comes from. It was invented in 1994 by Denso Wave, a Toyota subsidiary, to track parts moving down an assembly line.
How one actually works
The three large squares in the corners are finder patterns. They are what lets a camera locate the code and work out its angle, which is why a QR code scans upside down, sideways, or held at a tilt. The rest of the grid is the data, plus a large amount of redundancy.
That redundancy is error correction, and it comes in four levels — roughly 7%, 15%, 25%, and 30% of the code can be damaged or covered and the whole thing still reads. It is the reason a code survives a scuffed sticker or a crease down a flyer, and the reason you can drop a logo in the middle of one without breaking it.
The trade-off is density. The more you stuff into a code, the finer its squares get, and fine squares are harder for a camera to resolve from a distance or on cheap print. A short code on a yard sign scans from the sidewalk. A long one does not.
The types, and what they really are
Here is the part that trips most people up: a QR code only ever stores text. There is no "Wi-Fi format" baked into the standard. What makes a Wi-Fi code join a network is that phones have agreed to recognise text starting with WIFI: and offer to act on it. The “types” are conventions, not different technologies.
That matters more than it sounds, and the next section is why.
| Type | What the code contains | What happens on scan |
|---|---|---|
| Link (URL) | https://jot.space/your-name | Opens a web page. By far the most common type, and the only one that can be made dynamic. |
| Plain text | Table 4 — ask for Johnny | No action, no app. The phone just shows the text on screen. Useful for serial numbers, instructions, and door codes. |
mailto:you@example.com?subject=Quote%20request | Opens a new email, already addressed to you, and can pre-fill the subject and body. | |
| SMS / phone | sms:5551234567 · tel:5551234567 | Starts a text message or a phone call to a set number. The Call and Text buttons on a Jot card use these same two schemes. |
| Wi-Fi | WIFI:T:WPA;S:NetworkName;P:password;; | Joins a network without anyone typing the password. Worth knowing: the password is stored in the code as readable text, so treat a printed Wi-Fi code like a printed password. |
| Contact (vCard) | BEGIN:VCARD … END:VCARD | Carries an entire contact record — name, phone, email, company — and saves it straight to the phone. This is the one people mean by "a QR business card". |
Links in that table go to our free generators — no account needed.
Static vs dynamic: the distinction that matters
Every type above is static. The data lives in the printed pattern. A vCard code physically contains your phone number; a Wi-Fi code physically contains the password. Nothing is looked up when it is scanned, which means nothing can be changed afterward. Change your number and every card, sign, and sticker carrying that code is now wrong. The only fix is to reprint.
A dynamic code works differently. It is a link type, and the URL it contains is not your final destination — it is a short address with a unique ID on the end, pointing at a service you control. Scanning it hits that address, which then looks up where you currently want people sent and forwards them there.
The printed pattern never changes. The destination can change as often as you like. Two things follow from that:
- You can repoint a code after it is printed. Send this month’s codes to a promotion, next month’s to a booking page, without touching the physical thing.
- You can count the scans. A static code is scanned entirely on the phone — nothing ever reaches a server, so there is nothing to count. A dynamic code passes through a lookup, so scans can be measured.
The trade-off is a dependency: a dynamic code needs the service behind it to stay online. A static code will keep working, unchanged, until the paper it is printed on falls apart.
Where Jot fits
Every QR code Jot generates is a dynamic link code. Each one is issued a unique ID and encodes a Jot address rather than a final destination. When someone scans it, we look up the ID and forward them to wherever that code currently points — your card, a booking page, a storefront, or an external site entirely.
This is why a Jot card stays correct after it is printed. Your title changes, your number changes, your whole page changes — the code in someone else’s wallet keeps working, because the code was never carrying that information in the first place. It was only ever carrying a pointer.
It is also why contact sharing on a Jot card behaves differently to a plain vCard code. Rather than freezing your contact details into the pattern, the code points at your card, and the card hands over the contact file. Update your details and the next person to scan gets the new ones.