Color and contrast
Phones do not look for black squares. They look for a dark grid on a light field, with a clear edge. You can use brand colors. You cannot use two colors that turn into the same gray.
Updated 28 October 2026
What the two pickers do
On the QRazyQR homepage, Foreground paints the dark modules, including the three large finder squares in the corners. Background paints everything else, including the quiet area inside the file. The defaults are charcoal, #1a1a2e, on white, #ffffff. Those two are a safe pair. Changing them does not change the payload. A blue code and a charcoal code with the same text are the same link. Only the chance of a successful scan changes.
The colors are flat. There is no gradient, no transparency, and no image mask. If you need the code to sit on a photograph, export it with a solid light background and place that rectangle on top of the photo, with the background still visible as a margin. Do not set the background to match a busy picture and hope. The encoder cannot see the page you will paste the file into.
Reload the page and the pickers return to charcoal and white. The choices are not saved in the browser. That is the same behavior as the rest of the form, described on the about page.
Think in grayscale
Camera scanners mostly use brightness. A practical test: imagine the code as a black-and-white photocopy. If you would still see the modules, a phone probably will. If the photocopy is a gray square, the scan will be a coin toss, and it will fail first in a dim room.
Pairs that usually work:
- Charcoal
#1a1a2eon white. The default. - Near-black navy or dark green, such as
#0b3d2e, on white or a very pale tint such as#f4f7f5. - A dark brand color on a pale brand tint, as long as the pale color stays close to white and the dark color stays close to black.
Pairs that often fail:
- Yellow, gold, orange, or light red modules. Pure red,
#ff0000, is bright. In grayscale it is a light gray, not a black. Dark maroon can work because it is actually dark. “Red” is not the problem. Brightness is. - Two mid tones. Slate
#5c6b73on a gray-blue#eef2f3looks tasteful on a design mock and fails under indoor light. Push the modules darker or the field lighter until the photocopy test is obvious. - Inverted codes, light modules on a dark field. Some recent phones read them. Plenty of older Android cameras, and some laptop scanners, do not. A poster you do not control the audience for should be dark-on-light. If the brand guidelines demand a black card, print a white rectangle and put a dark code on that rectangle. See the business-card notes in the vCard guide.
- Modules of different colors. The generator uses one foreground for every dark module. Do not recolor the finders in another tool unless you retest. Scanners find the code by those three corners. They should match the rest of the dark modules.
The background has to include the margin
The quiet zone has to be the same light color as the light modules, and it has to be empty. A black outline drawn tight around the symbol is damage. A drop shadow that crosses the outer modules is damage. A background photograph showing through the light modules is damage, even when the dark modules are perfectly black. The print guide explains that QRazyQR’s file ends at the outer modules, so the margin has to come from the page you place it on, or from a background color you keep visible.
Gloss is a color problem in practice. A reflective laminate can turn a row of modules into a white streak under a ceiling light. The pixels are still dark. The camera never sees them. Matte stock, or a slight tilt so the glare moves off the finder patterns, fixes scans that no amount of error correction will.
Brand color without gambling
Pick the darker brand color for the modules only if it survives the photocopy test. Otherwise use charcoal or black for the modules and put the brand color in the type next to the code. A logo beside the code, outside the quiet zone, does not spend any error correction. A logo on top of the code does. QRazyQR will not place one for you.
Transparency is another trap. A PNG from this site has a solid background, not a transparent one. If a design tool knocks the white out, the page behind the code becomes the light modules. That is safe only when the page is a flat light color. It is unsafe on a texture.
Test with two phones if you can, including one that is not this year’s model, in the room where the code will be used. A code on a monitor is an easier scan than the same colors in ink. If the print fails and the on-screen preview worked, trust the print. Write down the two hex colors you used. If you want a second opinion on a pair that should have worked, email contact@qrazyqr.com with those colors and a photo of the print, taken straight on, without flash glare.