What happens on the device

A QR code is a two-dimensional matrix barcode that encodes data in a grid of black and white squares. Unlike a linear barcode that stores information in a single row of varying-width bars, a QR code stores data in both horizontal and vertical directions, allowing it to hold considerably more information in the same physical space.

A museum visitor accessing digital exhibit information with a smartphone
Illustrative example of an intentional digital interaction beside an exhibit.

The structure of a QR code follows a defined standard (ISO/IEC 18004). Three large squares in three of the corners act as finder patterns, allowing a scanner to locate the code, determine its orientation, and correct for perspective distortion. Smaller timing patterns between the finder patterns help the scanner determine the size and grid coordinates. The remaining area carries the actual data modules along with format and version information.

When a smartphone camera captures a QR code, the scanning software identifies the finder patterns, maps the grid, and reads the module values. The data is then decoded according to the specified encoding mode, which might be numeric, alphanumeric, byte/binary, or kanji. For most proximity and indoor-experience applications in retail, museums and events, the encoded data is simply a URL that the device's browser opens.

Error Correction and Physical Resilience

One of the most practically important features of QR codes is built-in error correction. The standard defines four levels: L (low, approximately 7% recovery), M (medium, 15%), Q (quartile, 25%) and H (high, 30%). This means that even if part of the code is obscured, damaged or partially covered by a logo, the scanner can still reconstruct the original data.

Higher error correction comes at a cost: it increases the total number of modules required for a given amount of data, which means a denser grid. For a short URL, the difference may be negligible, but for longer payloads the code becomes physically larger or more densely packed, which can affect scanning reliability at a distance. Choosing the right error-correction level is a practical trade-off between resilience and scannability, not simply a matter of selecting the highest setting.

What the Code Actually Stores

A standard QR code does not "point to" a URL in the way a hyperlink does. It literally contains the URL as a text string. The scanning application reads that string and decides what to do with it, typically by passing it to the operating system, which recognises it as a web address and opens it in a browser. This distinction matters because it means the behaviour after scanning depends on the user's device and software, not on the QR code itself. The code is a data carrier, not an active link.

Content, redirect and physical placement

Sizing and Scanning Distance

The relationship between QR code size and scanning distance is not fixed, but a widely used rule of thumb in print production is that the scanning distance should be roughly ten times the width of the code. A 3 cm code on a museum label is generally reliable at around 30 cm, which suits a visitor holding a phone close to a display panel. A QR code on a poster intended to be read from across a room needs to be proportionally larger.

Planning note: Before relying on an example value, reproduce it with representative devices under the venue’s normal operating conditions.

However, this guideline assumes adequate lighting, reasonable contrast, and a modern smartphone camera. In practice, the actual reliable distance depends on the device's camera resolution, the density of the QR code (how many modules it contains), and the ambient conditions. Testing with representative phones in the actual environment is the only reliable way to confirm that sizing is adequate.

Contrast and Print Quality

QR codes require sufficient contrast between the dark and light modules for the scanner to distinguish them reliably. Black on white is the safest combination. While the standard does permit inverted codes (white on black) and some colour variation, deviating from high-contrast monochrome increases the risk of failed scans, particularly on matte surfaces under uneven lighting.

Print quality matters more than is often assumed. If the modules bleed into each other due to low-resolution printing or unsuitable paper stock, the scanner may misread the grid. For exhibits, signage and point-of-sale materials, a minimum print resolution of 300 dpi is standard practice, and a test scan from the finished printed piece should always be carried out before a full print run.

Surface and Placement

The surface on which a QR code appears affects scanning reliability. Curved surfaces, glossy finishes that produce glare, and transparent or reflective materials can all interfere with the camera's ability to read the code clearly. In museums and retail environments, QR codes placed behind glass or acrylic cases are a common source of scanning failure unless the lighting is carefully managed to avoid reflections.

Placement height should account for the range of users, including wheelchair users and children. Positioning a code at a consistent height between roughly 90 cm and 120 cm from the floor works well for most standing and seated adults. If the code is intended to be scanned from a specific approach direction, ensure there is enough clear space for the user to step back and angle their phone without obstructing walkways or other exhibits.

Typical Deployment Scenarios

  • Museum and gallery interpretation: QR codes on exhibit labels linking to extended text, audio descriptions or image galleries. The code is typically printed on the physical label or on an adjacent panel.
  • Retail product information: QR codes on shelf edges or product displays linking to specifications, stock availability or related products. Placement must avoid obstructing pricing or product visibility.
  • Event wayfinding and schedules: QR codes on lanyards, posters or physical signage linking to venue maps, session timetables or catering information. These codes may need to work at varying distances and lighting conditions.
  • Queue and entry management: QR codes on tickets or screens used for check-in. In this scenario, the scanning direction is reversed: the venue scans the user's code rather than the user scanning a fixed code.

Monitoring destinations and physical condition

Overloading the Code with Data

Encoding a long URL or a large block of text increases the number of modules in the QR code grid, making the individual squares smaller and harder for the camera to resolve. For physical deployments, keep the encoded data as short as possible. Use a URL shortener if necessary, though be aware that this introduces a dependency on the shortening service remaining available. The detailed trade-offs between shortening approaches are covered in the companion article on static versus dynamic QR codes.

Ignoring the Quiet Zone

Every QR code requires a quiet zone, a clear border of at least four modules wide around the code, free of any graphics, text or background patterns. Without this margin, the scanner may fail to distinguish the finder patterns from surrounding design elements. In practice, this means not placing QR codes flush against edges, logos, or dense text. If a designer has incorporated a QR code into a larger visual layout without preserving the quiet zone, scanning failures are likely regardless of how well the code itself was generated.

Assuming Universal Scanning Behaviour

Most modern smartphones can scan QR codes through the native camera app, but the exact behaviour varies by operating system and version. Some devices will open the URL immediately; others may display a preview or notification that requires an additional tap. In some corporate or institutional environments, camera access may be restricted by device management policies. For deployments where scanning is critical, such as event entry or essential safety information, it is worth considering whether a QR code alone is sufficient or whether a backup channel is needed.

Environmental Interference

Unlike Bluetooth beacons, which broadcast a signal that can pass through some obstacles, a QR code is entirely passive and line-of-sight. If the code is obscured by a crowd, a moved display, a closed door or a temporary fixture, it simply cannot be scanned. In high-traffic retail or event environments, this is a genuine operational limitation. QR codes work best where the user can physically approach the code and control their scanning angle and distance.

Pre-Deployment Checks

  • Scan the code from the actual printed or installed piece, not just from a screen.
  • Test with at least two different phone models and both major operating systems.
  • Test under the actual lighting conditions, including any seasonal variation if the code is near windows or external doors.
  • Verify that the quiet zone is preserved in the final layout.
  • Confirm that the destination URL loads correctly and is optimised for mobile screens.
  • Check that the code is positioned at an accessible height and angle for the intended users.
  • Ensure the code is not placed on a surface prone to glare, condensation or physical wear in the expected location.

QR codes are a simple, low-cost and broadly compatible tool for connecting physical spaces to digital content. Their limitations are well understood and predictable: they require line of sight, adequate size and contrast, and a user willing to take out their phone and scan. Within those constraints, they remain one of the most reliable proximity technologies available, precisely because they depend on so few moving parts.