Scanner Compatibility Matrix

Which scanners read which symbology, and where each type fails. Honest answers, the field-tested ones, not the spec sheet.

Tested April 2026. iPhone Camera = iOS 18.4 / Visual Look Up. Android Camera = Pixel 9 / Google Lens. "Industrial" = Honeywell Xenon Ultra / Zebra DS9908. "Banking" = country-specific bank apps (Swiss banking app for SwissQR, etc.).

QR-family (1D-equivalent: universal)

TypeiPhone CameraAndroid CameraIndustrialNotes
QR CodeUniversal. The default for everything.
Micro QRCompact (≤35 chars). iOS reads from 18.0+.
rMQR~~Rectangular Micro QR (ISO/IEC 23941). Industrial scanners only, phones inconsistent.
GS1 Digital LinkStandard QR with structured URL, scans like any URL.

Other 2D symbologies

TypeiPhone CameraAndroid CameraIndustrialNotes
AztecBoarding passes, transit tickets. Phone cameras don't decode it. Use airline/transit app.
Data Matrix✓ (Lens)Pharma, medical, automotive parts marking. Google Lens reads; Apple does not.
PDF417✓ (limited)iOS 17+ reads driver-license PDF417. Other PDF417 mileage varies.
AAMVA driver-license✓ (Wallet)iOS 16+ recognises it for Apple Wallet ID. Otherwise needs a license-aware app.

1D barcodes (retail / industrial)

TypeiPhone CameraAndroid CameraIndustrialNotes
EAN-13 / UPC-ARetail standard. iOS recognises, opens product lookup.
EAN-8 / UPC-ECompact retail variants.
Code 128~Shipping labels. Industrial scanners only, phone cameras inconsistent.
Code 39 / 93 / Codabar~Inventory, libraries, blood banks. Industrial-only realistically.
ITF-14Shipping carton labels. Industrial scanners required.
VIN (Code 39)✓ (some apps)Vehicle ID. Specialised apps only on phones.

Payment QRs (banking-app only)

TypeCamera appsNative banking appNotes
SwissQR (Swiss QR-bill)✓ 🇨🇭 onlyStandardised by SIX Group. Swiss banking apps only.
UPI (India)~✓ 🇮🇳Google Pay, PhonePe, Paytm, BHIM. Camera apps usually open the right one.
PIX (Brazil)✓ 🇧🇷Brazilian bank apps + Mercado Pago.
SEPA (EU credit transfer)✓ 🇪🇺European bank apps that support EPC069-12.
PromptPay (Thailand)✓ 🇹🇭Thai banking apps.
PayNow (Singapore)✓ 🇸🇬Singapore banking apps + PayLah.
ZATCA e-invoice,Saudi tax authority validation. Not for consumer scanning.
FPS (Hong Kong)✓ 🇭🇰HK banking apps.
DuitNow (Malaysia)✓ 🇲🇾Malaysian banking apps.
JPQR (Japan)✓ 🇯🇵PayPay, LINE Pay, etc.
EMVCo merchant QR✓ variesGeneric standard, depends on issuer support.
Crypto / Bitcoin / Lightning~✓ walletWallet apps (BlueWallet, Phoenix, etc.) read directly.

Identity / security

TypeReaderNotes
TOTP / HOTPAuthenticator appsGoogle Authenticator, 1Password, Authy, Bitwarden, Apple Passwords.
WiFiiOS Camera ✓ / Android Camera ✓Both connect natively from the camera app.
vCard / MeCardBoth phone cameras ✓Offer "Add to Contacts."
SSH / WireGuardApp-specificTermius, ServerCat, WireGuard app respectively.
OpenPGPApp-specificOpenKeychain (Android), pgp-tools.
eSIM (LPA)iOS Camera ✓ / Android Camera ✓Native cellular setup flow.

The general rule

If your audience uses a phone camera, ship QR. Aztec, Data Matrix, and 1D codes are professional-only, generate them when you control the scanner (warehouse, factory, hospital). For retail products, EAN-13 / UPC-A are universal. For driver licenses, PDF417 is the only choice.

How we tested

Each entry was decoded with the named scanner against a reference payload generated by this tool. We re-test annually and after major iOS / Android camera releases. If you find a discrepancy, email hello@abundera.ai with your device + OS version and we'll re-verify.

Last verified: 2026-04-13.