# QR code scans on Android but not iPhone

> Almost always a decoder difference, not a broken code. Inverted styling, Micro QR, very dense versions and Android-only URI schemes such as intent:// all decode differently across camera apps. iOS handles some cases Android does not, and vice versa. Fix by regenerating dark-on-light, standard QR, version 10 or below, with an https URL.

Source: https://useqr.app/docs/troubleshooting/qr-code-scans-on-android-but-not-iphone · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## Two decoders, two sets of habits

iPhones and Android phones run different decoding software with different tolerances. When a code splits cleanly along platform lines, the code is usually marginal or unusual in a way one decoder forgives and the other does not. Causes below are ranked by likelihood.

## 1. The payload uses a scheme iOS does not act on

The most common cause, and the sneakiest: the iPhone *does* decode the code, but nothing useful happens, so the user reports "it won't scan".

| Payload starts with | Android | iPhone |
|---|---|---|
| `https://` | Opens | Opens |
| `intent://` | Opens the target app | Nothing happens |
| `market://` | Opens Google Play | Nothing happens |
| `WIFI:`, `tel:`, `mailto:` | Handled | Handled |

`intent://` and `market://` are Android-only schemes. **Fix:** encode a plain `https://` URL. For app installs, use a landing page that routes each platform to its own store: see [app download QR codes](/app-download-qr-code).

## 2. It is a Micro QR code

[Micro QR](/glossary/micro-qr) is a separate, smaller symbology, and native camera apps on **neither** platform decode it reliably. If it scanned on the Android phone, that phone was probably running Google Lens or a third-party scanner app. **Fix:** regenerate as a standard QR code, a [version](/glossary/version) 1 symbol is only 21 × 21 modules and is already very compact.

## 3. The code is dense and the iPhone is older

A dense code (roughly version 15 upwards) needs the camera to resolve very small modules. Older iPhones have a minimum focus distance of about **8–10 cm**, and moving closer to enlarge a tiny code pushes them past it: the image gets bigger and stays permanently out of focus. Recent Pro models switch to a macro lens automatically; older ones cannot. **Fix:** shorten the payload to drop the version, or print larger. See [too dense to scan](/docs/troubleshooting/qr-code-too-dense-to-scan).

## 4. The iPhone predates native scanning

Native QR detection in the Camera app arrived with **iOS 11 in 2017**. Anything still on iOS 10 or earlier needs a separate scanner app. Rare now, but it costs one question to rule out.

## The opposite symptom: scans on iPhone but not Android

If your split runs the other way, the first suspect is an **inverted (light-on-dark) code**. iOS's decoder handles inversion more reliably than many Android manufacturers' camera apps, which vary widely. Same fault family (a decoder difference) opposite direction. See [inverted and unreadable](/docs/troubleshooting/qr-code-inverted-and-unreadable).

## The test matrix that catches all of this

Before printing, test the actual artwork on:

- the **oldest iPhone** you can borrow, native Camera app;
- the **cheapest Android** you can borrow, native camera app, not Lens, not a scanner app;
- both at the real scanning distance, under real lighting.

Testing only on your own flagship is how platform-split codes reach print. Our [validator](/validate) catches the code-side faults (contrast, quiet zone, density), before any phone is involved, and [decoding the payload](/scan) shows exactly what string each phone is being asked to handle.

## FAQ

### Why does my QR code work on Android but not on my iPhone?
Usually the payload, not the pattern. Schemes like intent:// and market:// are Android-only, so the iPhone decodes the code but nothing visible happens. Micro QR symbols and very dense codes on older iPhones are the next most common causes.

### Can iPhones scan all QR codes?
Any iPhone on iOS 11 or later detects standard QR codes in the Camera app. They do not reliably read Micro QR, and they ignore payload schemes iOS has no handler for. Very dense codes can defeat older models' minimum focus distance.

### Do iPhone and Android read QR codes differently?
Yes. The standard defines the symbol, not the decoder, so each vendor's software differs in tolerance for inversion, mirroring, damage and density, and in which URI schemes it acts on. Marginal codes split along exactly those differences.

### How do I make a QR code that works on both platforms?
Encode a plain https URL, dark modules on a light background, version 10 or below at your printed size, with a four-module quiet zone. Then test on the oldest and cheapest devices you can find, using their native camera apps.

## Try it

- https://useqr.app/scan
- https://useqr.app/validate
- https://useqr.app/url
