The short answer: your camera app is enough (almost always)
Since iOS 11 and recent Android versions, the Camera app reads QR codes natively — nothing to install. Point the code in the frame, a notification or link appears, tap it, done. Here’s the detail per device, and the fallback when the native reader fails you.
On iPhone: the native Camera
Open the Camera app, point at the QR code without taking a picture: a yellow banner appears with the detected content — link, text, Wi-Fi. Tap it to open.
Two useful details:
- The Control Center scanner: Settings → Control Center → add “Code Scanner”. Same engine in a dedicated interface, handy when scanning several codes in a row.
- Scanning from a photo: in Photos, long-press the code inside the image — iOS detects it and offers the content. Handy for a code received by message.
On Android: native camera or Google Lens
Depending on the manufacturer, two paths:
- The native camera — on most recent Android phones (Samsung, Pixel, Xiaomi…), pointing at the code is enough: the content overlays the viewfinder. If nothing happens, check the camera settings that QR detection is enabled.
- Google Lens — built into the camera app on many models, the Google app and Google Photos: aim at the code, Lens decodes it and offers the matching action.
With no app at all: the online scanner
Old device, disabled reader, or a simple preference to install nothing: a web scanner decodes directly in the browser. FlashScan Pro reads the camera feed or an imported image — decoding happens on your device, no image is sent to a server.
What makes a scan fail
If the code won’t read, it’s almost never the app’s fault:
- Distance — too close, the camera can’t focus; too far, the modules are too small. Move back or closer until the pattern is sharp.
- Light and glare — backlight or a reflection on the screen/lamination can mask the pattern: change the angle, shade the reflection.
- The code itself — insufficient contrast, blurry print, pattern too dense or damaged: if several readers fail, the problem is the code. See our article on QR codes that won’t scan.
Before opening: check where the link leads
The reader shows the content before any action — that’s your last check. A shortened URL or an unknown domain on a code found in public space deserves suspicion: “quishing” (QR phishing) exists, on fake parking meters as on flyers. When in doubt, type the address by hand rather than following the code — and read our guide on malicious QR codes.



