Passkeys work in Chrome 108+, Edge 108+, Firefox 122+, Opera 97+, Safari 16.0+ on iOS, and Safari 16.1+ on macOS Ventura. Learn passkey browser support today.

Prince Dewani
May 6, 2026
A passkey is a FIDO credential built on the Web Authentication API that replaces a password with a public-private key pair stored on your device. It works in Chrome 108+, Edge 108+, Firefox 122+, Opera 97+, Safari 16.0+ on iOS, and Safari 16.1+ on macOS, while Internet Explorer and the legacy Android Browser do not support it.
This guide covers what a passkey is, the browsers that support it, how they work, passkeys vs passwords, setup steps, and known limitations.
A passkey is a FIDO Alliance and W3C credential that replaces a password with a public-private key pair. The browser stores the private key on your device behind a biometric or PIN, and the website holds the public key. The pair signs in to the site through the Web Authentication API.
Passkeys work in every modern browser on iOS, macOS, Windows, Android, and ChromeOS. The first stable releases shipped in Chrome and Edge 108, Safari 16, Opera 97, Samsung Internet 21, and Firefox 122.
Chrome supports passkeys from Chrome 108 on Windows, macOS, Linux, ChromeOS, and Android 9 or later. On iOS and iPadOS 16+, Chrome stores passkeys in iCloud Keychain or Google Password Manager. Chrome 4 to 107 did not support passkeys.
Edge supports passkeys from Edge 108 on Windows 10, Windows 11, macOS, Linux, and Android. On Windows 11 22H2 with KB5030310, Edge manages passkeys natively through Windows Hello and the Microsoft account. Edge 12 to 107 did not support passkeys.
Firefox supports passkeys from Firefox 122 on Windows, macOS, Linux, and Android. On macOS, Firefox can read and write passkeys stored in iCloud Keychain, and the form autofill UI surfaces a passkey picker when the page sets the webauthn token on the autocomplete attribute. Firefox 2 to 121 did not support passkeys.
Safari supports passkeys from Safari 16.0 on iOS 16 and iPadOS 16, and from Safari 16.1 on macOS Ventura 13. iCloud Keychain syncs passkeys end-to-end encrypted across signed-in Apple devices. Safari 3.1 through 16.0 on macOS and Safari 3.2 through 15.8 on iOS did not support them.
Opera supports passkeys from Opera 97 on Windows, macOS, Linux, and ChromeOS, since Opera shares the Chromium engine that landed passkey support in Chrome 108. Opera Mobile picked it up from Opera Mobile 80 on Android. Opera 9 to 96 did not support passkeys.
Samsung Internet supports passkeys from Samsung Internet 21 on Android 9 or later. Samsung Pass syncs passkeys across Galaxy phones and tablets that share a Samsung account. Samsung Internet 4 to 19 did not support passkeys.
The legacy Android Browser, frozen at version 4.4 before Chrome for Android took over, does not support passkeys. Android 9 and later expose passkeys through Credential Manager, so use Chrome 108+, Samsung Internet 21+, or Firefox 122+ on modern Android phones.
Internet Explorer 5.5 through 11 do not support passkeys, since the browser shipped before the Web Authentication API. Microsoft has retired Internet Explorer; passkey work on Microsoft platforms now lives in Microsoft Edge backed by Windows Hello.
Note: Passkey UI breaks across iOS, Android, Windows Hello, and password managers. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!
Passkeys use public-key cryptography to prove who you are to a website without sending a shared secret over the network. The flow has six stages, governed by the Web Authentication API.
Passkeys and passwords both prove who you are to a site, but a passkey signs a challenge with a private key while a password is a shared secret that you and the server both know. The table below lays out the trade-offs that matter most for security and recovery.
| Dimension | Passkey | Password |
|---|---|---|
| Where it is stored | Encrypted in iCloud Keychain, Google Password Manager, a synced manager, or a hardware key | In your head, in a manager, or written down |
| What the server stores | A public key | A salted hash, or worse, plaintext |
| Phishing resistance | Bound to the origin; cannot be entered on a fake site | Easy to phish through lookalike domains and fake login pages |
| Reuse across sites | Unique per site; cannot be reused | Frequently reused, so one breach exposes many accounts |
| Recovery | Restored from iCloud, Google, or password-manager sync | Reset email, SMS code, or security questions |
| Sync between devices | End-to-end encrypted sync across signed-in devices | Manual or password-manager sync |
| Required hardware | Device with a secure element and biometric or PIN | None |
Passkey setup is per-site: visit the account settings, choose to create a passkey, then approve it with your device's biometric or PIN. The flow takes under a minute on every supported browser.
If the autofill UI does not appear, confirm the site set autocomplete="username webauthn" on its sign-in field and that the browser is Chrome 108+, Edge 108+, Firefox 122+, or Safari 16.1+.
Passkeys remove most password problems but bring trade-offs around Linux desktops, cross-ecosystem sharing, and account recovery.
In my experience, the trickiest test failure is cross-ecosystem sign-in. A passkey saved in iCloud Keychain on a MacBook does not autofill on a Pixel without a QR code dance, so a QA matrix that only spans Apple devices misses real users who hop between an iPhone, a Windows laptop, and an Android tablet during the same week.
All passkey version numbers and platform notes in this guide come from these primary sources:
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance