Test foreground and background colors for reliable scanning.
Scanners should read this reliably.
Try a preset pair
A QR reader does not see colour the way you do. It converts the image to black and white first, then looks for the pattern — so what matters is not the hue you picked but the difference in lightness between the code and its background. Two colours can look distinct to the eye yet be nearly the same brightness, and the scanner sees mush.
This tool measures that lightness difference as a contrast ratio, tuned for QR codes rather than body text. A ratio of about 5 to 1 or more scans reliably; between 3 and 5 it can work but should be tested; below 3 many readers will fail. A live preview above shows exactly how your chosen colours look as a real code.
Watch out for the inverted case — a light code on a dark background. Some readers assume the opposite and refuse it, so dark-on-light is the safe default. Once your colours pass, run the whole design through the QR quality analyzer to check margin, logo, and print sharpness too.
A pale or bright brand colour — yellow, light green, sky blue — often lacks the lightness gap a scanner needs. Test it before committing the print.
Placing a code on a busy background image kills contrast in patches. Keep a solid, light panel behind every QR code.
A white code on a dark hero looks striking but some readers reject it. If you must, test on several phones — or keep it dark-on-light.
Aim for 5:1 or higher between the code and its background — at that level virtually every phone camera locks on quickly, even in imperfect light. Between 3:1 and 5:1 most scanners still cope, but you should test a printed sample first. Below 3:1 many cameras cannot separate the code from the background at all.
Yes — color itself is not the problem, a small lightness difference is. A deep brand blue or dark purple on white scans perfectly; a pastel or gold usually will not. If your brand tone is too light, use a darker shade of the same hue for the code and keep the lighter tones in the frame or background around it.
The QR standard was designed around dark modules on a light background, and some decoders — especially older apps and embedded scanners at checkouts or gates — never try the inverted reading. Your ratio can be a perfect 21:1 and those readers still reject the code. If you must go light-on-dark, test on several devices, or place a light plate behind a dark code instead.
No. Scanners convert the image to grayscale before decoding, so two colors that differ only in hue collapse into nearly the same gray. Red on green, blue on purple, or orange on pink can look high-contrast to the eye and still measure below 2:1 here. Judge the pair by the ratio this tool reports, not by how different the colors look.
Usually, but with less margin. Screens emit backlit RGB while print reflects light through CMYK ink, so printed colors come out darker and less saturated — and coated or laminated stock adds glare on top. Pass with headroom (7:1 rather than a scraped 5:1) and always scan one printed proof before approving a full production run.
No. The contrast math, the live QR preview, and the color pickers all run inside your browser — no color, link, or design detail is sent to a server. You can safely test unreleased brand palettes or internal campaign designs.
Dynamic QR codes let you change the destination anytime — no reprinting — and show you every scan: when, where, and on which device. Try the full QRA studio free for 14 days.