QR Codes Explained: Types, Uses and How Scanning Works
How a QR code stores data
A QR (Quick Response) code encodes data as a grid of black and white squares arranged according to a published standard, originally developed in 1994 for tracking automotive parts. The three large squares in three corners let a scanner instantly detect the code's position and orientation regardless of the angle it's photographed from, while the remaining grid encodes the actual data using a specific bit pattern.
Unlike a barcode, which only stores a short string of numbers read along one dimension, a QR code reads in two dimensions, which is why it can hold vastly more information — from a short URL to several hundred characters of text — in a similarly sized image.
Built-in error correction
Every QR code includes redundant data calculated using Reed-Solomon error correction, the same family of math used in CDs and satellite communication. This is what allows a QR code to still scan correctly even if part of it is smudged, obscured by a logo, or printed at a slightly warped angle — the code can reconstruct the missing sections mathematically, up to a limit set by its error-correction level.
Higher error-correction levels make the code more resistant to damage but also increase how dense the grid needs to be for the same amount of data, which is why codes with a logo overlay are typically generated at the highest correction level available.
Why different QR types exist
A QR code doesn't inherently "know" it's a URL, a contact card, or Wi-Fi credentials — it simply stores text in a particular format that certain apps know how to interpret specially. A URL QR code stores a web address as plain text, which any modern phone camera recognizes and offers to open. A Wi-Fi QR code stores the network name, password and security type in a structured format (WIFI:S:name;T:WPA;P:password;;) that phone operating systems parse to auto-join the network. A contact (vCard) QR code embeds a structured text block that phones recognize as a contact to save.
This is why generating the right "type" of QR code matters even though all of them are, underneath, just text encoded into the same visual grid — the structure of that text determines what a scanning app offers to do with it.
Practical tips for reliable scanning
Keep meaningful contrast between the foreground and background colors — low-contrast color combinations are the most common reason a visually fine QR code fails to scan. Leave a quiet zone (blank margin) around the code, since scanners use that margin to detect where the code starts. For codes that will be printed small or from a distance, use a shorter underlying text (a short URL rather than a long one) so the grid stays sparse and easier for a camera to resolve.