You have a brand. It has colors. And the standard black and white QR code looks like it belongs on a spreadsheet, not on your packaging, your business card, or your marketing materials.
The good news is that QR codes do not have to be black and white. They can be any color you want. The one rule: the contrast between the modules and the background must be high enough for a phone camera to read them.
Get that right and your QR code can match your brand exactly. Get it wrong and you end up with a code that looks great and does not scan.
This guide explains which color combinations work, which ones fail, and how to create a fully colored QR code for free that scans reliably every time.
Why Color Matters for QR Code Scanning
A phone camera reads a QR code by identifying the contrast between the dark modules (the filled squares) and the light background. The camera converts what it sees into a binary pattern of light and dark, which the scanner then decodes.
If the difference between the module color and the background color is not large enough, the camera cannot reliably separate them. The result is a code that scans inconsistently, fails in lower light, or does not scan at all.
According to Denso Wave’s official QR code guidelines, the reflectance difference between the module color and the background must be at least 40%. This is the technical threshold below which scanning reliability degrades. In plain terms: the module color needs to be significantly darker than the background color, or significantly lighter if you are using an inverted design.
Which Color Combinations Work and Which Ones Fail
Here is a straightforward breakdown based on the contrast principle.
Color combinations that work reliably
- Dark color on white background: the gold standard. Any dark color, including deep green, navy blue, dark red, dark purple, dark brown, or black, on a white or near-white background scans well in virtually any lighting condition.
- Dark color on very light background: a dark foreground on a light cream, pale grey, or pastel background works. Keep the contrast ratio above 40% and avoid mid-tone backgrounds.
- Brand colors with sufficient darkness: most dark brand colors work perfectly as the foreground color on a white background. Deep green, navy, charcoal, forest green, burgundy, and dark teal all scan reliably.
Color combinations that fail or perform poorly
- Light color on white background: a yellow, light grey, light pink, or pastel foreground color on white does not have enough contrast. The camera cannot distinguish the modules from the background. The code either fails entirely or scans only in bright, direct light.
- White modules on black background (inverted): inverted QR codes, light modules on a dark background, are technically supported in the ISO/IEC 18004 standard but most phone cameras struggle with them. The standard was designed for dark on light. Inverted codes may scan on some devices in good lighting but fail on others. If you need a dark background design, place the QR code inside a white or light-colored box rather than inverting the entire code.
- Mid-tone on mid-tone: a medium blue on a medium grey, or a medium green on a medium teal, produces a contrast ratio below the threshold. These combinations look visually similar and the camera cannot reliably separate them.
- Gradient background under the code: a QR code placed directly on a gradient background produces variable contrast across the code. Some areas may have enough contrast to scan while others do not. Always place the QR code on a solid, uniform background.
The One Rule That Overrides Everything
Dark modules. Light background. In that order.
The foreground color (the modules, the dots, the pattern itself) should always be the darker color. The background should always be the lighter color. This is the principle behind every reliable QR code color combination.
Many designers try to reverse this, putting light dots on a dark brand background. It rarely works reliably in real-world scanning conditions. If your brand uses a dark background color, do not put the QR code directly on it. Place the code inside a white or light-colored rectangle on the dark background instead. The QR code stays scannable. The design stays on-brand.
How to Create a Colored QR Code for Free
Creating a fully colored, branded QR code takes under two minutes at toolshash.com. No account. No signup. Completely free.
Step 1: Choose your QR type and enter your content
Go to toolshash.com/custom-qr-code-generator. Select the QR type that matches your use case from the dropdown: URL, WiFi, vCard, Instagram, WhatsApp, or any of the 14 available types. Enter your content in the field that appears.
Step 2: Set the foreground color
In the design section, click the foreground color picker. Enter your brand color as a hex code for an exact match. If you do not have the hex code for your brand color, use a tool like imagecolorpicker.com to extract the hex value from any brand image. Confirm the color you have chosen is dark enough. Mid-tone colors in the range of 40% to 60% lightness are the danger zone.
Step 3: Set the background color
Keep the background white or very light unless you have a specific reason to change it. White backgrounds give you the maximum contrast headroom, which means the code performs well across every device and every lighting condition. If your design requires a non-white background, keep it light: a cream, a pale grey, or a very light tint of your brand color. Always stay lighter than the foreground.
Step 4: Try the AI Colors button
If you are not sure which color combination to use, click the AI Colors button. It generates a color combination that looks visually appealing while staying within safe contrast parameters. Cycle through a few suggestions and pick the one closest to your brand palette. This is the fastest way to get a polished result without spending time testing contrast ratios manually.
Step 5: Add a gradient (optional)
Toggle on the gradient option to apply a two-color fade across the foreground. Choose linear for a horizontal or diagonal gradient, or radial for a center-out fade. Both can work well in a branded context as long as the lightest point of the gradient remains dark enough to maintain contrast against the background. Avoid gradients that fade into a very light color near the edges of the code.
Step 6: Generate, test, and download
Click Generate. Before downloading anything, scan the preview with your phone. Test it in normal lighting. Then test it in lower light, at an angle, and from the distance you expect it to be scanned at in real use. If it scans reliably in all three conditions, the color design is working. Download as SVG for print and PNG for digital use.
Create your colored QR code free at toolshash.com
Specific Color Questions Answered
Can a QR code be green?
Yes. A dark green QR code on a white background scans reliably and looks professional. Deep green, forest green, and dark emerald all have enough darkness to maintain the required contrast. Mid-tones like a bright lime green or a sage green on white are borderline and should be tested carefully. Light mint green on white will not scan reliably.
Can a QR code be blue?
Yes. Navy blue, dark royal blue, and dark cobalt all work well on white. Lighter blues, cornflower, sky blue, and baby blue, do not have enough contrast for reliable scanning and should be avoided as the foreground color.
Can a QR code be red?
Yes, with caution. Dark reds and deep crimsons work on white backgrounds. Bright red and mid-tone red are in the borderline range. The specific challenge with red is that some phone cameras process red channels differently from blue and green due to the Bayer filter pattern used in most camera sensors. Test a red QR code on multiple devices before printing at scale. A dark red is safer than a bright red in most cases.
Can a QR code be white?
A white QR code requires a dark background to have any contrast at all. As covered above, inverted QR codes (light modules on dark background) are technically possible but scan poorly on many devices. If you need a white code on a dark background, place it inside a white box. The scanner sees dark modules on the white box background. The code scans correctly. The design stays on-brand.
Can a QR code be gold or metallic?
Standard digital QR codes cannot be metallic since a screen or printed surface renders flat colors. A gold QR code using a dark gold or bronze hex color (such as #8B6914 or #A67C00) on a white background scans acceptably. A bright, light gold or a very pale champagne on white does not have enough contrast. For packaging or print designs requiring a metallic appearance, dark gold colors work better than pale or bright ones.
How to Test Your Colored QR Code Before Printing
Color combinations that look high-contrast on a calibrated monitor sometimes fail in real-world conditions. Screens display colors more vividly than print reproduces them. A color that looks dark enough on a screen can print lighter than expected.
Before printing any colored QR code at scale, follow these steps:
- Print a single test copy on the material you will use for the final product.
- Scan the printed test on at least two devices, an iPhone and an Android.
- Test in the lighting conditions where the code will actually be used, not just in your office.
- Scan at the distance and angle your users will realistically scan from.
- If the code fails any of these tests, darken the foreground color or lighten the background and retest.
One failed test on a printed sticker costs almost nothing to fix. One failed test discovered after 1,000 printed items are already made costs the entire print run.
Frequently Asked Questions
Does the color of a QR code affect how much data it can store?
No. The data capacity of a QR code is determined by its size (version), the type of data encoded, and the error correction level. Color has no effect on data capacity. A deep green QR code and a black QR code of the same size store exactly the same amount of data.
Can I use two different colors in the same QR code?
Yes. The gradient feature in the toolshash.com generator applies a two-color blend across the foreground. Both colors need to be dark enough to maintain contrast against the background across the full gradient range. Avoid gradients that include a very light color at either end.
Will a colored QR code scan more slowly than a black and white one?
Not perceptibly, as long as the contrast is sufficient. Modern phone cameras process QR code images in milliseconds regardless of the foreground color. The scan speed difference between a high-contrast colored code and a black and white code is not noticeable in practice.
Does error correction level affect how well a colored QR code scans?
Yes, indirectly. A higher error correction level means the scanner can reconstruct missing or unclear data. If your color combination produces borderline contrast, a higher error correction level (Q or H) gives the scanner more redundant data to work with if some modules are unclear. For any colored code where contrast is not ideal, set error correction to Q or H as an additional safety measure. The ISO/IEC 18004 standard defines the four levels and their data recovery percentages.
Can I use my brand’s Pantone color in a QR code?
Pantone colors are physical ink standards used in professional print. For digital QR code creation, convert the Pantone color to its closest hex or RGB equivalent first. Most brand guidelines include the hex conversion alongside the Pantone reference. Use the hex code in the toolshash.com color picker. The printed result will be as close to the Pantone original as your printing process allows.
What is the safest color for a QR code if I am not sure about contrast?
Black on white. It is the original standard for a reason. If you want some brand color without risking scan failures, use a very dark version of your brand color (close to black in lightness) on white. Most brand identities have a dark variant of their primary color that works well in this context. A dark brand green on white looks branded and scans perfectly.