Black-and-white QR codes work, but they rarely match a menu, poster or product label. The good news is that QR codes do not have to be black. You can use your brand colors, as long as you follow one rule: the pattern must be clearly darker than the background. This guide explains why, which color combinations tend to scan well, which ones cause trouble and how to test any design before it goes to print.
The short answer
- Use a dark color for the pattern (the small squares, called modules) and a light color for the background.
- Contrast matters far more than hue. Navy, dark green, deep purple, burgundy and dark brown usually scan well on white or cream.
- Avoid light patterns such as yellow, pastel pink or light gray, and avoid similar shades such as mid-blue on mid-green.
- Avoid inverting the code (light pattern on a dark background) for anything important, because not every scanner reads it.
- Always test with more than one phone before you print.
Why contrast is what counts
A phone camera does not care whether your code is red or blue. When a scanner app looks at a QR code, it essentially sorts every part of the image into "dark" and "light", then reads the pattern of dark and light modules. If your two colors end up looking similar once brightness is all that matters, the scanner cannot tell modules from background, and the code fails.
That is why a dark red pattern on white scans easily, while a bright yellow pattern on white often does not, even though yellow is a strong, vivid color. Yellow is simply too light. In the same way, a red pattern on a green background can look striking to your eye but turn into two similar grays for a scanner.
Color pairs that usually scan well
| Pattern (foreground) | Background | Why it works |
|---|---|---|
| Black or near-black | White | Maximum contrast, the safest choice |
| Navy or dark blue | White or very light gray | Dark enough, looks softer than black |
| Dark green | White or cream | Good for food, garden and eco brands |
| Deep purple or plum | White or pale lavender | Strong contrast with a brand feel |
| Burgundy or dark red | White or light beige | Warm and still clearly dark |
| Dark brown or charcoal | Cream or off-white | Works well on kraft-style designs |
A helpful habit: choose the darkest version of your brand color for the pattern. If your brand blue is fairly bright, use a deeper shade of it in the code and save the bright version for the rest of the design.
Color choices to avoid
- Light patterns: yellow, light orange, pastel pink, baby blue and light gray patterns are hard for many scanners.
- Similar brightness: red on green, blue on purple or orange on pink can blend together.
- Busy or photo backgrounds: texture, patterns or images behind the code create false "dark" spots.
- Gradients that get light: a gradient from navy to light blue may scan on part of the code and fail on the rest. If you use a gradient, keep every part of it dark.
- Metallic and reflective inks: gold, silver and glossy foils can reflect light and look different at every angle. Test carefully on the final material.
- Transparent backgrounds placed on dark artwork: if you drop a code with no background onto a dark poster, the dark pattern disappears into it. Give the code its own light background box.
Inverted QR codes: light on dark
An inverted QR code uses a light pattern on a dark background, for example white modules on black. It can look great on a dark-themed design, and some scanner apps read it. But many scanners expect dark modules on a light background, so inverted codes fail more often across different phones. Our QR code not scanning checklist lists inverted colors as a common cause of failures.
If you really want a dark design, the safer approach is to keep the code itself dark on light and place it inside a white or light rounded box on your dark background. You get the look you want, and the code stays readable.
Make a free QR code for a link, WiFi or contact card — generated in your browser.
Open the free QR code generator →The grayscale test
You do not need special software to check a color pair. Use this quick test before you print:
- Take a screenshot of your QR code in its final colors, or export the design.
- Turn it to grayscale. Most phone photo editors and design apps have a black-and-white or "mono" filter.
- Look at the result. The pattern should look clearly dark and the background clearly light. If both look like similar grays, the contrast is too low.
- Scan the grayscale version with your phone camera. If it is slow or fails, darken the pattern or lighten the background.
This test catches the most common color mistake: two colors that look different to you but have almost the same brightness.
Making a colored QR code in QR Studio
- Open the QR Studio generator and choose the type of code you need, such as a URL, text, Wi-Fi network or contact card.
- Enter your content.
- Pick a foreground color for the pattern and a background color using the color pickers. Start with a dark foreground and a white or very light background.
- If you add a logo, keep it small. QR Studio uses high error correction when a logo is added, but color and logo together leave less room for error, so test carefully. Our guide on error correction levels explains why.
- Set the size, then scan the preview with your phone.
- Download the PNG. For print, choose a larger pixel size rather than enlarging a small image afterwards.
Keep the quiet zone light too
The quiet zone is the empty border around a QR code. It should be the same light color as the background, with no text, lines or artwork running into it. A beautiful colored code with a cramped or dark border can still fail. See our guide to the QR code quiet zone for how much space to leave.
Printing colored QR codes
Colors on screen do not always match colors on paper. A few things to watch:
- Print a proof on the same printer and paper you will use for the final run, then scan it.
- Colors can darken or fade in print. A medium shade that looked fine on your monitor might print lighter on matte paper or darker on cheap stock.
- Check under real lighting. Test the code where people will scan it: a dim restaurant, a sunny shop window or under a glossy laminate.
- Size still matters. Color is one factor, but a small code is harder to scan whatever its colors. Our QR code size guide for print covers sizing by scanning distance.
A quick color checklist
- Pattern is a dark color, background is a light color.
- The grayscale test shows clear contrast.
- No inverted colors for important codes.
- Background is plain, with no photos or textures behind the code.
- Quiet zone is clear and light on all four sides.
- Printed proof scans on at least two different phones.
Frequently asked questions
Can a QR code be any color?
It can be almost any color, as long as the pattern is clearly darker than the background. Dark colors such as navy, dark green or burgundy on a white or light background usually scan well.
Why won't my colored QR code scan?
The most common reason is low contrast: the pattern color is too light, or the two colors have similar brightness. Other causes include inverted colors, a busy background, a missing quiet zone and a code that is too small.
Can a QR code be white on black?
Some scanners read inverted codes, but many do not, so they are less reliable. For important uses, keep a dark pattern on a light background and place it inside a light box if your design is dark.
Do red QR codes work?
A dark red or burgundy pattern on a white background usually scans well. Bright or light red, or red on a green or dark background, is more likely to cause problems. Run the grayscale test to check.
Does color reduce QR code reliability?
Color itself does not, but lower contrast does. A well-chosen dark color on a light background can scan about as easily as black and white, while a weak color pair can fail on some phones. Always test before printing.
Make a free QR code for a link, WiFi or contact card — generated in your browser.
Open the free QR code generator →