White code, black background

Inverted codes look sharp on dark packaging, black menus, and evening-lit counters. They also behave differently under a phone camera — here is what to watch.

Black background codeStatic QR code, error correction level Q, 33 by 33 modules. Generated in your browser.

Black background code

Generated on this page with the same encoder. Scan it if you want to check the colors hold up.

A missing scheme is filled in as https://. Only http and https links are accepted.

Style

Dot color
Background color
Dot shape
Corner shape

Adding a logo below automatically raises this to High.

PNG, JPEG, or SVG up to 512 KB. The file is read in your browser and never uploaded. Error correction is raised to High so the code still scans.

Black background code style code

How inverted codes actually scan

Most phone scanners read a light code on a dark background, but they do it by inverting the image first. That extra step is why a black-background code sometimes feels slower than a normal one. In practice it works on current iOS and Android cameras with the code filling a decent share of the frame; the failures cluster in two groups — dim environments and codes that are simply too small on screen.

The contrast is not the issue. White on near-black is the highest-contrast pairing available, roughly 18:1, well past anything a scanner needs. Size is the issue, and so is glare: a glossy dark card reflects the room straight back and erases the module edges.

Four rules that make it reliable

Print it big. Treat 2 cm as the floor for an inverted code rather than the exception — that is 2 cm for a normal code. At 3 cm and up, the difference disappears in practice. Use matte surfaces. Dark glossy stock is the single most common reason a black-background code fails. Give it contrast around it. A white border of a few millimetres around the dark block stops the camera from losing the edge against a dark table. Test on the actual phone. Ask whoever will scan it to try, in the actual lighting.

Where black-background codes earn their place

Any surface that is already dark: black takeaway containers, dark menu boards, coffee cup sleeves, kraft-black packaging, an evening-lit counter where a white card would glare. The inversion is not a gimmick in those settings — it is the code that stops washing out under the light that is already there.

Where they do not earn their place: white paper, a bright window-lit table, a phone screen viewed at an angle in sunlight. On a white background, a normal dark code is simply easier to scan, and nothing about your design requires the inverted version.

Black background code questions

Why is my inverted code slower to scan than a normal one?

The camera has to detect and invert the pattern before decoding. That adds a fraction of a second on most phones, which is why a larger code matters more here than usual.

Does a black background use more error correction?

No. Error correction depends on the data and the level you picked, not on the colors. The inversion is applied after encoding.

Can I use white dots on a black card instead of generating it here?

Only if you still encode properly. Printing a decorative square pattern and calling it a code gets you a card that scans as nothing. Generate the code here, then set the background to match your card stock color.

Will it work on a dark phone case sticker?

Usually, at 3 cm or larger. Adhesive glare is the bigger risk than the color — request a matte vinyl print or laminate nothing over it.

Try the other custom styles

Same generator, different look. All three scan the same way.