AAsa Toolz
·6 min read

QR Codes for Beginners: How They Work and When to Use One

A QR code is just a very patient link. Once you understand the basics — how the pattern encodes data, why error correction matters, and how big to print one — you can generate a code for a menu, a Wi-Fi network, or a product label with complete confidence.


A QR code is a patient link. Someone points a phone at it, the link opens, and that is the entire interaction. The reason QR codes survive is that they remove a step: no typing, no dictation, no typing errors. On a restaurant table, a product box, or a printed flyer, that one removed step is enough.

This guide is a tour for people who have never made a QR code before. It covers how the pattern actually works, which settings matter, and how to size a code so it scans first time in the real world.

What the black and white squares mean

A QR code is a two-dimensional barcode. The three large squares in the corners are finders — they let a camera work out the orientation of the code before it even tries to read the data. The small patterns scattered through the middle are alignment and timing marks. Everything else is the payload.

The payload is encoded with an error-correcting code called Reed–Solomon. That is why you can cover part of a QR code with a logo and it still scans: the extra bits are redundancy, not wasted space.

Error correction levels, explained simply

When you generate a code you pick one of four error-correction levels:

  • L (Low) — about 7% of the code can be damaged or covered.
  • M (Medium) — about 15%. A sensible default for print.
  • Q (Quartile) — about 25%.
  • H (High) — about 30%. Use this when a logo sits on top.

Higher levels make the code physically denser, which is the tradeoff. For on-screen use, L is fine. For a printed menu, M. For a sticker on a package that might get scuffed, Q or H. Our QR code generator defaults to M for exactly this reason.

Static vs. dynamic codes

A static QR code has the destination baked into the pixels. The code itself is the URL, encoded into black and white squares. It never expires, because there is nothing to expire.

A dynamic QR code is subtly different. The pixels encode a short link to a third-party redirector, which then forwards to the real destination. This lets you change the target later, but it also means the redirector has to stay online. If the service shuts down, the code dies.

For most uses — a menu link, a business card, a Wi-Fi credential — a static code is the safer choice. Use dynamic codes only when you genuinely need the ability to change the destination after printing.

Sizing for the real world

The practical rule of thumb is a 10:1 scan distance to code size ratio. A code that will be scanned from half a metre away should be about 5 cm square. A poster meant to be scanned from across the room (say, 3 metres) wants a code roughly 30 cm square.

Alongside that, leave a "quiet zone" around the code: a margin of empty space, at least four modules wide (a module is one small square). Codes printed edge-to-edge with surrounding text often fail to scan because the camera cannot find the boundary.

Colour and contrast

The scanner sees the code in greyscale, so what matters is the contrast between your dark and light areas, not the specific colours. Dark ink on a light background works. Light ink on a dark background works in most modern scanners but is historically less reliable — if in doubt, stay with dark-on-light.

Avoid inverting the finder squares or placing a busy photograph directly behind the code. The decoder expects clean, high-contrast regions in those three corners.

Test before you print

The most reliable rule of all: always scan the final code with two different phones before committing to a print run. Any modern phone camera (iOS 11+ or Android 8+) reads QR codes natively through the camera app. A five-second test catches problems that a preview on screen hides — especially low contrast, small size, or a broken redirect.

Final thought

QR codes have gone in and out of fashion, but they have never stopped being useful. They are cheap to generate, free to scan, and they solve one small problem completely: getting a link from a physical thing to a phone. Generate a static code for the destination you actually want, give it enough size and contrast, and you are done.

The tool behind this article

QR Code Generator

Turn any link, text, or contact detail into a crisp QR code. Download as PNG, adjust error correction, and scan-test before printing.

Open QR Code Generator