Guide

QR code guide

Structure, scanning practice, and mistakes to avoid when you generate static codes in the browser.

Open the generator

Reference / 12

How QR Codes Work

01

QR Code Modules

Grid of dark and light QR modules

A QR code is a square grid of dark and light modules. The encoder places data, error-correction, and function patterns into those modules. Decorative squares that ignore this structure are not QR codes.

Example: version 1 uses a 21 × 21 module grid before the quiet zone.

Misunderstanding: any black-and-white mosaic will scan. Cameras look for specific finder geometry and timing rules.

02

Finder Patterns

Three nested-square finder patterns

Three nested squares in the corners help a scanner locate and orient the code. Matrix & Mark draws these from the Model 2 layout rather than as decoration.

Example: the top-left, top-right, and bottom-left 7 × 7 finders on every version.

Misunderstanding: rounding those corners for style is harmless. Distorted finders are a common reason scans fail.

03

Alignment Patterns

Five-by-five alignment pattern

Larger versions add smaller nested squares so cameras can correct distortion across the matrix.

Example: version 2 adds one alignment pattern near the lower right.

Misunderstanding: alignment marks are optional artwork. They are required by the version layout.

04

QR Versions

Versions 1 through 40 increase the matrix from 21 to 177 modules on a side. This studio selects a version automatically from payload length and error-correction level.

Example: a short HTTPS URL often fits version 2 or 3 at level M.

Misunderstanding: a higher version is always better. Extra modules make printed cells smaller at a fixed physical size.

05

Error Correction

Reed–Solomon blocks allow a scanner to recover from missing or dirty modules. Levels L, M, Q, and H increase recovery at the cost of capacity.

Example: switching a long note from H to M can make an oversized payload fit.

Misunderstanding: high error correction means a torn label always scans. Recovery has limits.

06

Quiet Zones

Light quiet zone surrounding a QR matrix

A light margin of at least four modules surrounds the matrix. Export size includes this margin rather than cropping it to enlarge modules.

Example: a 1024-pixel PNG still contains the four-module border in the background color.

Misunderstanding: trimming that border makes a “bigger” code. It often makes the code harder to find.

07

Static QR Codes

A static QR code stores the payload in the matrix. After you download the image, the encoded text does not change unless you generate a new code.

Example: a URL code contains https://example.com, not a tracking redirect.

Misunderstanding: static codes report who scanned them. They do not. Scan analytics require a separate redirect service, which this site does not provide.

08

QR Code Data Capacity

Capacity depends on version, error correction, and encoding mode. This studio uses byte mode with UTF-8 text, which handles mixed scripts at a cost of more bits than numeric mode.

Example: version 1-M holds 14 byte-mode characters after overhead.

Misunderstanding: QR codes encrypt their contents. Encoding is not encryption; anyone can decode the payload.

Proofing / 13

Common QR Code Mistakes

01

Printing a QR code too small

Incorrect approach: Modules merge on paper and in camera noise.

Why it can fail: Cameras cannot tell dark cells from light cells.

Better approach: Print large enough that the grid remains visible, then scan a proof.

Practical example: A 70 mm card instead of a stamp-sized mark on a dense flyer.

02

Removing the quiet zone

Incorrect approach: The scanner cannot lock onto the square boundary.

Why it can fail: Nearby text or photos are treated as part of the matrix.

Better approach: Keep at least four light modules around every export.

Practical example: Leaving the default quiet zone in a PNG downloaded at 1024 pixels.

03

Choosing low-contrast colors

Incorrect approach: The camera histogram has little difference to work with.

Why it can fail: Pale gray on cream may look stylish and still fail outdoors.

Better approach: Use a dark foreground on a light, even background and read the on-page contrast warning.

Practical example: Classic dark ink on white paper rather than sand on beige.

04

Encoding an incorrect URL

Incorrect approach: The code is scannable but opens the wrong place, or nothing useful.

Why it can fail: A missing scheme or a typo is stored permanently in a static code.

Better approach: Paste the live address, require http(s), and scan before printing.

Practical example: Encoding https://example.com/hours instead of a bare example.com string.

05

Including too much content

Incorrect approach: The version grows, modules shrink, and print quality drops.

Why it can fail: A full letter pasted into text mode may exceed capacity at level H.

Better approach: Shorten the payload or lower error correction instead of truncating in secret.

Practical example: Linking to a page rather than encoding the whole page body.

06

Assuming all devices support every QR payload

Incorrect approach: The matrix decodes, but the OS ignores tel, sms, WIFI, or vCard.

Why it can fail: An older scanner may show raw text instead of opening Wi-Fi settings.

Better approach: Explain expected behavior and offer a fallback, such as printed SSID text.

Practical example: Testing a Wi-Fi code on more than one phone model.

07

Publishing Wi-Fi credentials without considering privacy

Incorrect approach: The password is visible to anyone who can see or photograph the code.

Why it can fail: A hallway poster becomes a public key ring.

Better approach: Use a guest network and treat the QR code as a readable copy of the password.

Practical example: A table tent for a dedicated guest SSID, not the office backbone.

08

Failing to test the final printed code

Incorrect approach: Screen previews hide printer gain, gloss, and scale errors.

Why it can fail: A perfect SVG can still fail after a 90% shrink-to-fit print.

Better approach: Scan the actual paper with more than one device.

Practical example: One proof sheet at 100% scale before a bulk run.

Guidance / 09

Make Your QR Code Easy to Scan

These notes improve the odds of a clean scan. They do not promise universal compatibility with every camera or application.

01

Use a clear foreground and background.

Dark modules on a light, even field are easier for cameras to separate.

Example: A charcoal code on cream card stock in even indoor light.

Common mistake: Printing navy ink on dark recycled board.

Corrective action: Choose a light background and confirm the pair still looks distinct in the intended lighting.

02

Preserve the quiet zone.

Scanners use the empty margin to find the code boundary.

Example: A 1024-pixel PNG that still shows four light modules around the matrix.

Common mistake: Cropping the PNG until the finder squares touch the artwork edge.

Corrective action: Keep the default quiet zone in preview, export, and print.

03

Avoid excessively small printing.

Tiny modules blend together on office printers and phone cameras.

Example: A 70 mm card for a handout, tested at arm’s length.

Common mistake: A 12 mm mark on a crowded flyer.

Corrective action: Print at a size you can still see as a grid, then scan a proof.

04

Test the code before distribution.

A live scan is the only practical check for that printer, paper, and payload.

Example: Scan a proof copy with more than one phone.

Common mistake: Sending a file that was never opened on a device.

Corrective action: Generate, print a single proof, and scan it before a large run.

05

Keep the printed surface flat.

Warped bottles, deep folds, and glossy curves distort module geometry.

Example: A flat card placed on a table.

Common mistake: Wrapping the code around a narrow cylinder without testing.

Corrective action: Place the code on a flat panel or test the curved surface first.

06

Avoid excessive visual decoration.

Logos, rounded dots, and photo backgrounds can destroy finder patterns.

Example: A plain high-contrast square with an intact quiet zone.

Common mistake: Dropping a logo into the center without checking version and error correction.

Corrective action: Leave the matrix unmodified. Add labels outside the quiet zone.

07

Use an appropriate error-correction level.

Medium is a practical default. Higher levels cost capacity.

Example: Level M for a short URL on a clean label.

Common mistake: Level L on a code that will be taped, folded, or partly covered.

Corrective action: Raise the level if the print may scuff, or shorten the payload instead.

08

Keep encoded content concise when possible.

Shorter payloads produce smaller versions with larger modules at the same print size.

Example: https://example.com/map instead of a paragraph of directions.

Common mistake: Pasting a full formatted letter into a text QR code.

Corrective action: Link to a page, or cut optional vCard fields you do not need.