QRAnalytica

Why Does My QR Code Scan on iPhone but Not on Android?

A QR code scans on iPhone but not Android when the Android camera's scan setting is off, or the code is inverted, low contrast or missing its margin.

Nookesh Karri · 9 min read
Dark cover card with the title 'Why Does My QR Code Scan on iPhone but Not on Android?' in white and a lime accent bar

A QR code scans on iPhone but not Android for one of two reasons: the Android phone’s camera isn’t set up to scan, or the code’s design is one that iPhone tolerates and some Android scanners reject. The usual design culprits are inverted colors, weak contrast and a missing margin. Check the phone’s scan setting first, then the code.

Why a QR code scans on iPhone but not Android

A QR code can work on iPhone and fail on Android because every iPhone uses the same Apple scanner, while Android phones use whatever scanner their maker shipped. A Pixel, a Galaxy and an older budget phone can each read the same code differently.

“Android” is not one test. Google’s own help page says “You need Android 9 or higher to scan QR codes with your device’s built-in camera”. Older phones need a separate scanner app, and those apps vary in what they accept.

Match the Android symptom to the cause

The symptom on the Android phone tells you which cause to chase. Use this table before you change anything.

What the Android phone doesLikely causeFix
Camera never reacts to any QR codeScan setting is off, or the phone is older than Android 9Turn on the camera’s scan setting, or use the Quick Settings scanner
Camera reads other codes but not yoursInverted colors, weak contrast or no marginRegenerate with dark modules on a light background and a clear margin
Camera shows text instead of a linkThe code holds a sentence, not a bare URLEncode only the URL
Link opens, but the page or app is wrongThe destination, not the scanFix the link or use device-based routing

Only the first row is a phone problem. A printed code that falls into rows two or three has to be reprinted.

Android camera settings that block QR scanning

Android cameras can have QR scanning switched off, and the setting has a different name on each brand. If the camera ignores every code, look here first.

On a Pixel, Google’s help page says to “Make sure that “Camera scan suggestions” is turned on.” When it works, the “camera automatically recognizes the code and shows a bubble or link on the screen.”

Galaxy phones bury it one level down. Samsung’s UK support page says “you may need to enable it by going to: Camera > Settings icon > Toggle on Scan QR codes.” Samsung also says: “If the Camera app does not recognize the QR code right away, tap the QR code on the screen.”

Any recent Android has a second route. Swipe down for Quick Settings and look for the scanner tile. On Pixel, “you may need to swipe left to find more buttons or tap the pencil icon to add it.” On Galaxy, Samsung Canada says to “Open the Quick settings panel, then tap Scan QR code.”

Inverted or low-contrast colors that only iPhone reads

A light QR code on a dark background is the design most likely to scan on iPhone and fail on Android. Inverted codes sit outside the required QR spec, so scanners are free to ignore them.

An old ZXing issue thread shows why. ZXing is the open-source library behind many Android scanner apps. A user asked it to read “a QR code that has been printed in a light color on a dark background” and noted that an iPhone had no trouble with it.

The maintainer refused: “Inverted QR codes are not a part of the required spec and so should not be used.” Checking for them on every frame, he wrote, “would waste half of all the CPU time consumed, when they are rare.” That thread ran from 2013 to 2014, and newer scanners are more forgiving. But you don’t control which scanner your customer has.

Low contrast fails the same way. Barcode SDK maker Dynamsoft recommends keeping “the foreground color at least 40% darker than the background” and warns that “when these colors are reversed, the QR code often becomes unscannable.” A pale gold code on cream may pass on a new iPhone and fail on a mid-range Android camera in dim light. For brand colors and logos, see how to put a logo in the middle of a QR code.

A missing quiet zone around the code

A QR code needs an empty margin on every side, and some scanners give up without it. Denso Wave, which invented the format, states that “QR Code requires a four-module wide margin at all sides of a symbol.” A module is one small square of the pattern.

Denso Wave describes the margin as “a clear area around a symbol where nothing is printed.” Designers crop it to fit a tight layout, or run a border or text right up to the edge. Forgiving scanners cope. Stricter ones never find the corners. The sizing math is in what size a QR code should be for printing.

When Android reads the code but shows plain text

Sometimes the Android phone does scan the code, and it only looks like a failure because nothing opens. This happens when the code contains a sentence with a link inside it, such as “Visit us at example.com/menu”, instead of the bare URL.

Corel documents this in a knowledge-base article about its own QR tool. On an iPhone, it says, iOS “automatically interprets it as a web link and immediately brings the user to the website.” But “Android devices are more likely to treat QR code content as plain text.”

Encode the URL and nothing else. If the link opens but lands on the wrong store or app, that’s a destination problem. One QR code for the App Store and Google Play covers it.

A worked example: the white-on-navy window sticker

Picture a salon that prints a white QR code on a navy window sticker, cropped tight to the sticker’s edge. The owner tests it on her iPhone and it opens the booking page. A week later, two clients with Android phones say the code does nothing.

One client’s Galaxy scans a code on a cereal box without trouble, so the scan setting is on. That leaves the sticker. The code is inverted: light modules, dark background. The crop also removed the quiet zone, and the navy sticker sits on dark glass.

Either design fault could cause the failure, and together they make it likely. The reprint uses navy modules on a white panel with the full four-module margin.

How to test a QR code on Android before you print

Test on at least two Android phones from different makers, using the built-in camera, before anything goes to print. An iPhone pass proves very little.

  1. Print a proof at final size. Don’t test on your monitor.
  2. Scan it with a Pixel or stock Android camera and a Samsung camera.
  3. Scan from the real distance. Google suggests “holding your phone about 30 cm (1 foot) away and slowly moving it towards the QR code” in its Nest troubleshooting guide.
  4. Try it in poor light. Samsung advises scanning “in a well-lit area”.
  5. Confirm the phone shows a tappable link, not text.

You can also run the image through the free QR validator, which flags low color contrast before printing. More print checks are in how to print a QR code, and general fixes are in QR code not scanning.

My take: design for the worst scanner

Treat the iPhone as the easiest test, not the standard. Dark code, light background, full margin, bare URL. Inverted codes look good on dark packaging, but I’d never print one without a light panel behind it.

No checklist or tool can stand in for real devices. A contrast check tells you the colors are sound. It can’t tell you how a five-year-old phone’s camera handles your sticker behind glass. Dynamsoft puts it plainly: “Testing on multiple devices is crucial before publishing QR codes broadly.”

FAQ

Do all Android phones scan QR codes with the camera?

Most do. Google says you need Android 9 or higher to scan QR codes with the built-in camera, and some phones also need a camera setting switched on, such as Scan QR codes on Samsung or Camera scan suggestions on Pixel.

Why does my Samsung phone not scan a QR code?

The scan toggle may be off. Samsung says you may need to enable it under Camera, Settings icon, Scan QR codes. You can also open the Quick settings panel and tap Scan QR code.

Can Android scan a white QR code on a dark background?

Some Android scanners can and some can’t. Inverted codes are not part of the required QR spec, and older ZXing-based scanner apps skip them unless an inverted mode is switched on. Dark modules on a light background work everywhere.

The code probably holds a sentence with a URL inside it rather than just the URL. Corel notes that Android devices are more likely to treat that content as plain text, while iOS opens the link straight away.

Sources

Track your dynamic campaigns. 7-day trial, no credit card.
Generate Dynamic QR