QR Fixed

What is a QR code?

A QR code is, at its core, a picture of a URL. Point a phone camera at the pattern of black and white squares and the phone reads the URL out of it and opens it. That's the whole magic.

A short history

QR codes were invented in 1994 by Masahiro Hara at Denso Wave, a subsidiary of the Toyota Group in Japan. The "QR" stands for Quick Response: they were designed so factory workers could scan car-part labels much faster than the linear barcodes of the time. The format became an open ISO standard (ISO/IEC 18004) in 2000, which is why anyone, including QRFixed, can generate them without licence fees.

How the pattern is decoded

Every QR code is a grid of tiny squares called modules. Each module is either black (a 1) or white (a 0). A scanner doesn't read them left-to-right like text; instead it locates a few fixed landmarks and then reads the data in a zig-zag pattern.

The three big squares in the corners (top-left, top-right, bottom-left) are finder patterns. They tell the scanner "this is a QR code, here's its orientation, here's its size." That's why you don't have to hold your phone perfectly straight, the code can be rotated or skewed and still scan.

The rest of the grid holds the actual data, a format identifier (how the data is encoded), a version identifier (which size of QR this is) and, crucially, error-correction bits.

Why some QRs survive coffee stains and others don't

QR codes use a technique called Reed–Solomon error correction. You can pick one of four levels when generating a code:

Higher correction = more redundant bits = a denser, more cluttered-looking pattern. That's also the reason a logo can be placed in the middle of a QR code: at level H, you can punch out roughly a third of the modules and the rest is still mathematically enough to reconstruct the URL.

QRFixed generates codes at level Q by default, a good balance between durability for print and a clean appearance.

What's actually inside the code

A QR code can technically store any text: a phone number, a Wi-Fi password, a calendar event, plain text. In practice 99% of QR codes you scan in the wild contain a URL, because that's the most useful thing to do with a scan, open a webpage.

And here is the catch that catches most people out: the URL is baked into the pattern. Once printed, that pattern is locked. Whatever URL was encoded when you generated the image is the URL that QR will point to, forever.

The fix: dynamic QR codes

If you want to change where a printed QR sends people after the printing is done, you need a different approach: encode a URL that you control (a short redirect URL), and update that URL's destination on a server. The QR image itself never changes; the redirect target does.

That's exactly what QRFixed does. We give you a permanent qrfixed.com/<id> URL, and you control where it redirects to from your dashboard. Read more in our guide on dynamic vs. static QR codes.

Making a QR code

Generating a QR code is free and takes about ten seconds.