The code stopped scanning after I added a logo

3 minutes

A center logo covers part of the code. QR codes tolerate damage up to a point (that is what error correction is for); past it, the phone gives up. Almost every logo problem is size.

Fix it

  1. 1
    Shrink the logo

    In Customize, drag the logo size down. Keep it under a fifth of the code's width. That is about 4 percent of its area, which is well inside what we measured as safe.

  2. 2
    Give it a white box

    A logo with a solid white background reads better than a transparent one that blends into the modules.

  3. 3
    Keep the corners clear

    The three big squares in the corners are how phones find the code. A logo that touches them fails on every phone.

  4. 4
    Scan with two phones

    Different cameras tolerate different amounts. If either one misses, shrink again.

The Center logo panel with an uploaded logo, a size slider and the option to keep a white box behind it
The Center logo panel: size it down until the code still scans.

Dense codes and logos

The opposite of what everyone expects, and we measured it: a code carrying a longer web address survives MORE logo, not less. A denser code has more modules, so losing the few in the middle costs it a smaller share of the whole. A short link is the least forgiving.

  • Coverage is area, and area is deceiving. A square covering 10 percent of the area has sides about a third of the code's width, which looks far bigger than the number sounds.
  • At the strength we generate at, a circular logo on a short link was still readable every time up to 14 percent of the area. A square only to 10 percent, because its corners reach further.
  • On a longer web address the same two went to 20 and 12 percent.
  • A circle beats a square at the same area, every time, because the corners of a square land on modules a circle misses.
  • There is no clean edge, only a grey zone. One setting read 13 percent of the time in our runs, which is a code that works in the office and fails on the street.

Those are decode numbers from a clean file, not a photograph of a printed card at an angle in bad light. Leave room under them.

Start clean

Make a fresh code and test it

Codes render as you type, so you can have a new one printed and scanned in a minute. Free, with no signup to try.

Still stuck? Search the help center, or contact support and a person will answer.

Try: