First determine whether the phone cannot read the image or reads it but cannot complete the action. Image failures often involve size, contrast, cropping, glare, or damage. Successful decoding followed by an error usually points to the payload, destination, permissions, or device support. Test those layers separately instead of changing the design at random.
Does the scanner recognize the pattern at all?
If the camera offers no result, start with the physical or displayed image and the scanner’s settings. If it shows a link or text, move on to checking that payload and the destination.
This first distinction prevents wasted work. Making a code larger will not usually fix a private document link, and changing a URL will not restore a border that a layout cropped away. Describe the actual failure before changing anything: no recognition, wrong decoded text, correct link with an error, or a recognized action the phone does not support.
Try the original downloaded image on a clear screen as well as the printed version. If the original reads but the print does not, the reproduction or placement is a useful place to investigate. If neither reads, compare the design with a simple dark-on-white version and confirm that a normal scanner is enabled on the device.
Is the printed code too small or crowded?
The camera must resolve the individual modules, so a code can be too dense for its finished size even when the source file has many pixels. Increase the physical space or reduce nonessential payload content.
A long contact card, detailed event description, or large URL can create a more crowded pattern than a short link. Adding higher error correction also changes the amount of information represented. Do not assume that one successful small telephone code proves the same dimensions will suit a lengthy vCard.
Print a proof at actual scale and scan from a comfortable position. If the visitor has to move unnaturally close, the placement may be impractical even when the phone eventually succeeds. The print-size guide explains module size, distance heuristics, and why a higher-resolution PNG does not replace adequate physical dimensions.
Are contrast, borders, or reflections causing trouble?
Use dark marks on a light, consistent background and preserve the entire clear border. Reflections and nearby visual clutter can make a correct pattern difficult for a camera to separate from its surroundings.
Return to a plain design before diagnosing a complex one. Very pale brand colors, inverted patterns, gradients across the code, and transparent placement over a photograph deserve particular suspicion. This generator flags low contrast and lighter foregrounds because its digital decoder may cope with conditions a real camera cannot.
Inspect the finished object for a cropped edge, intrusive frame line, fold, seam, mounting hole, or glossy patch. Test through the actual plastic holder or glass panel. A proof lying flat on a desk does not represent a menu tent under overhead lights or a window sign reflecting the street.
Is a logo or decorative style obscuring the code?
A center image removes part of the visible pattern, so compare a failed branded code with an unbranded version. Keep the corner structures and quiet zone intact rather than treating every cell as free decoration.
The logo tool caps the image and forces H correction, but those safeguards are not a universal scan guarantee. A dense payload, tiny print, difficult surface, or poor color choice can still fail. Simplify one feature at a time so you can see which change matters.
Use the original export when testing. A screenshot captured from a scaled preview, a compressed copy passed through several apps, or a stretched image in a document can introduce problems that were not present in the generated file. Keep the pattern square and avoid cropping it tightly to the dark modules.
Does the decoded link work outside your own account?
Open the exact decoded address in a signed-out session or another device. A correct QR image can lead to an unavailable, private, moved, or expired destination.
| What the visitor sees | What to inspect first |
|---|---|
| Request access | File or page sharing permissions |
| Missing page | Removed content or changed address |
| Login prompt | Destination’s public-access expectations |
| Wrong business or profile | The exact entered identifier or URL |
| Old information | The maintained destination or fixed payload |
For a PDF link, check that the sharing address works for the intended audience. For a review code, verify the exact business location. For a social account, check whether the handle or visibility changed. None of those problems can be resolved by a local scan test alone.
Is the payload correct but the action unsupported?
Different scanners handle non-URL payloads differently, so a decoded message may not trigger the intended app. Test the complete action on representative devices and provide a readable alternative.
A scanner may display SMSTO text instead of opening an SMS draft. A contact importer may arrange address fields differently. An event payload may decode correctly while a particular camera offers no calendar import. An unconfigured mail application can make a valid mailto link appear unresponsive.
A WiFi code needs the actual current network details, signal, and compatible device behavior. A phone that already remembers the network may connect without proving the encoded password is right. Test with a fresh connection when practical, and separate a router or captive-portal issue from an unreadable QR image.
What is a useful order for fixing the problem?
Work from a known simple reference and change one factor at a time. Preserve the failed example and its intended payload so you can compare results without losing track of what changed.
- Read the original exported image with a separate scanner and inspect the decoded text.
- Confirm the exact destination or details outside the generator, including permissions and current account or network state.
- Test a plain dark-on-white code with the same content and no logo.
- Reproduce it at the final physical size, keeping its square proportions and border.
- Check real lighting, viewing distance, material, and any holder or covering.
- Test the complete action on the phones your audience uses, then approve a replacement master.
If the payload itself is wrong, generate a new static code. If the destination changed, maintain the original address where appropriate or replace the printed artwork. A reliable fix addresses the layer that failed rather than assuming every broken experience means the code expired.