QR code login looks effortless in a demo: show a code, scan it with a phone, you are in. That clean handoff is why it powers desktop login for WhatsApp, Revolut and modern passkey cross-device flows. But "looks effortless in a demo" and "converts well in production" are two different claims, and the gap between them is where teams lose users.
This article is not about what QR login is or how to build it - the QR code login methods guide and our passkey QR code deep-dive cover that. It is about how well it actually works: where it converts, where it quietly breaks and how to measure the difference so you know whether QR login is helping or hurting your funnel.
Before talking about conversion, it is worth separating the two methods that both get called "QR login", because they work differently and fail differently:

Authentication Analytics Whitepaper. Practical guidance, rollout patterns, and KPIs for passkey programs.
The rest of this article keeps these two apart, because blending them into one "QR login" number hides why it converts the way it does.
QR login is at its best in one specific situation: a user with their phone already in hand and already logged in on that phone, scanning a code on a desktop screen that is physically in front of them. In that case it is close to magical - no password typed on the desktop, no code relayed, just a scan and a confirmation.
This is why it is such a good fit for desktop onboarding of a mobile-first audience, as explored in cross-device authentication. The phone is the trust anchor, the desktop is the destination and the QR code is the bridge. When the preconditions hold, QR login converts extremely well.
The problem is that those preconditions do not always hold, and every missing one is a drop-off.
The flow assumes the phone is reachable and the user knows how to scan. In practice the user may not have the phone to hand at the desktop, may not realise they need it, or may struggle to open a scanner - older Android cameras and some locked-down devices do not scan QR codes from the default camera. Each hesitation at the highest-intent moment is exactly the login friction that kills conversion.
This is the one most teams miss. Passkey QR login uses the FIDO2 hybrid transport, and scanning the code starts a Bluetooth Low Energy proximity check between phone and desktop. That step is a deliberate anti-phishing control - it proves the devices are physically close, so an attacker cannot finish the login from a remote machine. The trade-off is hard: if Bluetooth is off, unsupported or blocked by enterprise policy, the flow simply cannot complete. Our own search data shows real demand behind queries like "webauthn hybrid transport qr code bluetooth required", which is users and AI assistants running straight into this constraint.
If the phone is on mobile data and the desktop is on a corporate Wi-Fi, or the two are not actually near each other, the handoff can stall. The user sees a code that never resolves and gives up, which standard analytics record as an abandon rather than a proximity failure.
The two common kinds of QR login fail differently, which matters when you read your funnel:
The full security and architecture comparison lives in the QR code login methods guide; the point here is that "QR login converts badly" is rarely true in general - it is usually one specific precondition failing for one specific segment.
If QR login is a major path for you, do not judge it on a blended completion rate. A single number hides the fact that it converts near-perfectly for prepared mobile users and poorly for users without Bluetooth, without the phone or on mismatched networks. Always offer a non-QR fallback.
Try passkeys in a live demo.
QR login is especially prone to invisible drop-off because the failure often happens on a second device that your primary analytics never see. To get the truth, instrument the handoff as its own funnel:
qr_code_shown, qr_code_scanned, proximity_check_started,
login_confirmed, session_established. The drop between scanned and proximity is your Bluetooth
signal.This is the same authentication observability and method-comparison discipline we apply to every method: turn "QR login feels flaky" into "passkey QR completes well on iOS but drops at the proximity step on a measurable share of Android sessions, so we should detect Bluetooth state and fall back earlier".
Igor Gjorgjioski
Head of Digital Channels & Platform Enablement, VicRoads
We hit 80% mobile passkey activation across 5M+ users without replacing our IDP.
Passkeys that millions adopt, fast. Start with Corbado's Adoption Platform.
Start Free TrialQR code login is genuinely excellent in its ideal case and genuinely fragile outside it. The question is never "does QR login work" in the abstract - it is "for which of my users do the preconditions hold". Three takeaways:
Done right, QR login is a powerful cross-device bridge. Measured honestly, it tells you exactly when to lean on it and when to route users somewhere else.
Corbado is the Passkey Intelligence Platform for CIAM teams running consumer authentication at scale. We help you see what IDP logs and generic analytics tools can't: which devices, OS versions, browsers and credential managers support passkeys, why enrollments don't turn into logins, where the WebAuthn flow fails and when an OS / browser update silently breaks login, all without replacing Okta, Auth0, Ping, Cognito or your in-house IDP. Two products: Corbado Observe layers observability for passkeys and any other login method. Corbado Connect adds managed passkeys with analytics built in (alongside your IDP). VicRoads runs passkeys for 5M+ users with Corbado (+80% passkey activation). Talk to a Passkey Expert →
QR code login works very well in its ideal case - a logged-in phone scanning a desktop screen on the same network - and noticeably worse outside it. Conversion drops when the user has to find a camera or scanner, when the phone and desktop are not in proximity, and for passkey QR login specifically when Bluetooth is off or blocked, since the FIDO hybrid flow requires it. So the honest answer is that QR login is a strong desktop-handoff method for prepared users and a fragile one for unprepared users, and the gap is large enough that it must be measured rather than assumed.
Passkey QR login uses the FIDO2 hybrid transport, where scanning the QR code starts a Bluetooth Low Energy proximity check between the phone and the desktop. That proximity step is a deliberate anti-phishing measure: it proves the two devices are physically near each other, so an attacker cannot complete the login from a remote machine by tricking the user into scanning a code. The trade-off is that if Bluetooth is disabled, unsupported or blocked by policy, the flow cannot complete.
The common drop-off points are: the user does not have the phone to hand, they cannot find how to open a scanner, the camera or scan fails, the two devices are not in Bluetooth proximity for passkey QR login, or the phone is on mobile data while the desktop is on Wi-Fi and the handoff stalls. Each of these looks like a generic abandon in standard analytics, which is why QR login conversion is usually underestimated until the funnel is segmented by step.
It depends on the type. Passkey-based QR login is phishing-resistant because it combines a domain-bound credential with a Bluetooth proximity check, earning a high security rating. Native app QR login, which relies on an existing logged-in app session and deep linking, is more convenient but lacks proximity verification, so it is more exposed to remote and man-in-the-middle abuse unless the QR code is short-lived and the login is confirmed in-app.
Subscribe to our Passkeys Substack for the latest news.
Related Articles
Table of Contents