Scanners read the contrast between modules, not the literal colors, so a dark foreground on a light background is what matters. Black on white is the most reliable combination.
Branded colors are possible. A dark navy or forest-green foreground on white still scans well. Avoid low-contrast pairs such as navy on black, or pastel on pastel.
Keep the quiet zone white even when the rest of the design is colored. A colored background behind the code can drop contrast and cause failures.
Test on multiple devices and a few real scanners before mass printing any custom-colored code. What looks fine on a screen may fail under poor lighting.
Make a custom-colored, high-contrast QR code free in your browser.
Pair it with the right print size for best results.