Toolora

What is a QR code?

What the squares actually mean, why a scratched code still works, and what a QR code can and cannot do.

A QR code is a way of printing data so a camera can read it. “QR” stands for Quick Response — it was designed at Denso Wave in 1994 to track car parts faster than barcodes allowed, and it turned out to be useful for almost everything else.

The important thing to understand: a QR code is not a link to a database. It is the data itself, written in a form a camera can decode. Nothing is looked up. Nothing phones home. The squares on the page are the information.

What is actually in one

Text. That is the whole answer — but what the phone does depends on the shape of that text.

The code contains Your phone offers to
https://example.com Open the page
Meet me at 7 Show you the text
WIFI:T:WPA;S:Cafe;P:hunter2;; Join the network
tel:+6621234567 Call the number
mailto:hi@example.com Start an email
BEGIN:VCARD… Add a contact

The phone recognises the prefix and offers the matching action. There is no magic beyond that convention — which is also why a QR code cannot install an app, take a photo, or run code on your phone. It can only hand over text and suggest something to do with it.

A single code holds up to about 4,300 alphanumeric characters, or roughly 2,900 bytes. In practice almost nobody approaches that, because the more you store, the denser and harder to scan the code becomes.

What the patterns mean

The arrangement is not decorative. Every region does a job.

The three large squares in the corners are finder patterns. They let a scanner locate the code and work out its rotation, which is why you can scan a code sideways or upside down.

The smaller square near the fourth corner (on all but the smallest codes) is an alignment pattern. It corrects for perspective — scanning at an angle, or a code printed on a curved surface like a bottle.

The dotted lines running between the finder patterns are timing patterns. They tell the scanner how large one module is, so it knows where the grid lines fall.

The white margin around everything is the quiet zone, and it is part of the symbol, not padding. The specification calls for four modules’ width. Crop it and scanners lose the code’s boundary — this is one of the most common reasons a code that worked on screen fails in print.

Everything else is your data plus error correction.

Why a damaged code still scans

QR codes carry Reed–Solomon error correction: deliberate redundancy that lets a scanner reconstruct data it cannot read. You choose how much when you generate the code.

Level Recovers up to Good for
L ~7% Clean screens, maximum data in minimum size
M ~15% Most things — the sensible default
Q ~25% Printed items that get handled
H ~30% Harsh environments, or a logo over the centre

This is the mechanism behind logos in the middle of QR codes. Nothing clever is happening: the logo destroys some modules, and the error correction rebuilds them. Level H tolerates roughly 30% loss, so a modest centred logo survives. Cover much more than that and the code stops working — for everyone, silently, after you have printed it.

Higher correction is not free. The redundancy takes space, so the same data at level H produces a physically denser code than at level L. Denser means it must be printed larger to stay readable.

Static and dynamic codes

The codes generated here are static: the destination is encoded directly in the pattern. Print it and it works forever, with no service in the middle that could disappear or start charging. The trade-off is that changing the destination means generating and reprinting a new code.

Dynamic codes encode a short redirect URL owned by a provider, who forwards it to your real destination. You can change the target later and track scans — but the code only works for as long as that provider keeps the redirect alive, and if they shut down or move you to a paid plan, every printed code you own goes dark at once.

For a menu, a business card, a Wi-Fi card, or anything where the destination is stable, static is the safer choice.

Are they safe to scan?

A QR code cannot do anything by itself. The risk is the same as any link: the destination.

The one real concern is that you cannot read a QR code with your eyes, so you cannot see where it goes before scanning. Phones mitigate this by showing the URL and waiting for you to tap. Read that URL before tapping, especially on codes stuck up in public places — a sticker over a genuine code on a parking meter or restaurant table is a known scam.

Make one

The QR code generator handles links, plain text and Wi-Fi networks, exports PNG and SVG, and runs entirely in your browser. If you are making a Wi-Fi card, that guide covers the specifics.