
WebAuthn support is not uniform across browsers. For services implementing WebAuthn, it is vital to note which user environments are supported, and have the appropriate error handling in the event of an unsupported browser.
Feature is supported |
Feature is not supported |
![]() |
![]() |
User Presence - The browser supports a physical user interaction to establish an event is not being initiated by a remote attacker.
Resident Key / Discoverable Credential - The browser supports WebAuthn credentials stored on the authenticator. These credentials can be read to identify the user account without the user manually providing them.
User Verification (PIN / Biometric) - The browser supports an interface to allow a user to verify their identity via entering a WebAuthn PIN or Biometric.
CTAP 1 / U2F Legacy Support - The browser has legacy support for authenticators only supporting U2F.
Browser |
User Presence (touch) |
Resident Key / Discoverable Credential |
User Verification (PIN / Biometric) |
CTAP 1 / U2F Legacy Support |
|
Edge Chromium 91 |
USB |
![]() |
![]() |
![]() |
![]() |
NFC |
![]() |
![]() |
![]() |
![]() |
|
Chrome 91* |
USB |
![]() |
![]() |
![]() |
![]() |
NFC |
![]() |
![]() |
![]() |
![]() |
|
Firefox 89 |
USB |
![]() |
![]() |
![]() |
![]() |
NFC |
![]() |
![]() |
![]() |
![]() |
*Notes on Chrome differences from other browsers
When a request to create a credential with a resident key is made User Verification is enforced even if the request has UV = 0.
NFC support has been excluded since NFC is not supported on macOS browsers.
Browser |
User Presence (touch) |
Resident Key / Discoverable Credential |
User Verification (PIN / Biometric) |
CTAP 1 / U2F Legacy Support |
|
Safari 14.6* |
USB |
![]() |
![]() |
![]() |
![]() |
NFC |
N/A |
N/A |
N/A |
N/A |
|
Chrome 91 |
USB |
![]() |
![]() |
![]() |
![]() |
NFC |
N/A |
N/A |
N/A |
N/A |
|
Firefox 89** |
USB |
![]() |
![]() |
![]() |
![]() |
NFC |
N/A |
N/A |
N/A |
N/A |
*Safari will not allow users to set a PIN for User Verification if one is not already set.
**Bug for FIDO2 support on MacOS: https://bugzilla.mozilla.org/show_bug.cgi?id=1530370
Verified with iPhone 12, 11, XR, XS and iPhone 8
Most browsers on Apple mobile devices use Apple WebKit. As such, these browsers will have all the same functionality available.
Browser |
User Presence (touch) |
Resident Key / Discoverable Credential |
User Verification (PIN / Biometric) |
CTAP 1 / U2F Legacy Support |
|
Safari 14.6* |
Lightning |
![]() |
![]() |
![]() |
![]() |
NFC |
![]() |
![]() |
![]() |
![]() |
|
Chrome 91* |
Lightning |
![]() |
![]() |
![]() |
![]() |
NFC |
![]() |
![]() |
![]() |
![]() |
|
Firefox 34.2* |
Lightning |
![]() |
![]() |
![]() |
![]() |
NFC |
![]() |
![]() |
![]() |
![]() |
*If a PIN is already set on the YubiKey, then a browser will display a PIN prompt only when creating a credential and when user verification has not been requested. Any request for user verification will fail if there is no PIN set on the YubiKey.
Verified with iPad 6th generation (not iPad Pro)
Most browsers on Apple mobile devices use Apple WebKit. As such, these browsers will have all the same functionality available.
NFC tests have been excluded since NFC is not supported on iPadOS browsers.
Browser |
User Presence (touch) |
Resident Key / Discoverable Credential |
User Verification (PIN / Biometric) |
CTAP 1 / U2F Legacy Support |
|
Safari 14.6* |
Lightning |
![]() |
![]() |
![]() |
![]() |
NFC |
N/A |
N/A |
N/A |
N/A |
|
Chrome 91* |
Lightning |
![]() |
![]() |
![]() |
![]() |
NFC |
N/A |
N/A |
N/A |
N/A |
|
Firefox 34.2* |
Lightning |
![]() |
![]() |
![]() |
![]() |
NFC |
N/A |
N/A |
N/A |
N/A |
*If a PIN is already set on the YubiKey, then a browser will display a PIN prompt only when creating a credential and when user verification has not been requested. Any request for user verification will fail if there is no PIN set on the YubiKey.
Verified with Pixel 3a
Currently the Android platform only supports CTAP1 (U2F) authenticators. Android does support clients (browsers) making WebAuthn requests to a relying party
Browser |
User Presence (touch) |
Resident Key / Discoverable Credential |
User Verification (PIN / Biometric) |
CTAP 1 / U2F Legacy Support |
|
Chrome 91 |
USB |
![]() |
![]() |
![]() |
![]() |
NFC |
![]() |
![]() |
![]() |
![]() |
|
Firefox 89.1 |
USB |
![]() |
![]() |
![]() |
![]() |
NFC |
![]() |
![]() |
![]() |
![]() |