Passkey (WebAuthn) Test

Whether passkeys work depends on the browser and the device together. This page lists the WebAuthn API, the platform authenticator with user verification and conditional UI, and can create one test passkey and sign in with it. No server is used.

On-device・No uploadMobile friendlyWorks offline

Your files and input are processed only inside your browser on this device and are never uploaded to our servers.

Support on this device and browser

Checked as soon as the page opens. Nothing is created and nothing is sent to a server.

…

Create a test passkey and try it

One test passkey will be saved in this device’s password manager. You can delete it in the device settings if you do not need it. Nothing is sent to a server.

How to use

  1. When the page opens, it checks this browser and device: the WebAuthn API, the platform authenticator, conditional UI and a secure context. Nothing is created at this stage.

  2. Press “Create a test passkey”. One test passkey is saved in this device’s password manager. Read the notice shown before you press it.

  3. Check the attributes of the new passkey: the attestation format, the flags UP, UV, BE, BS and AT, the AAGUID, the key type and the transports.

  4. Press “Try signing in with this authenticator” to get a signature, then check the counter, user verification and the signature check made with WebCrypto.

  5. When you no longer need it, delete the test passkey in your device or browser password manager.

What it does

Support at a glance

Shows whether the WebAuthn API exists, the platform authenticator, conditional UI, a secure context, and getClientCapabilities (every item, where the browser supports it).

Reads the registration

Decodes the CBOR itself and shows the attestation format, flags, AAGUID, key type (the COSE alg) and transports.

Checks the signature on the spot

Verifies the signature from sign-in with WebCrypto and shows the result. Covers passkeys made with ES256 and RS256, the two algorithms this page asks for.

Plain explanations of failures

Explains each cause, such as cancelling, a timeout, a security restriction or the state of the authenticator, and what to do next.

Sends nothing

Registration and sign-in happen on this device, with no request to any server. The results are not kept on this page.

Use cases

  • Check that registration and sign-in work on this device before you add passkeys to your site
  • Tell apart the causes of “passkeys do not work” reports, using the browser and device support
  • Check through the UV flag whether biometrics or a PIN is verifying the user
  • Read a real WebAuthn authenticator data block and signature to learn how they are built

Capability matrix

FeatureSupportNotes
WebAuthn API availableSupported—
Platform authenticator (biometrics or PIN) availableSupportedThe result of isUserVerifyingPlatformAuthenticatorAvailable()
Conditional UI (passkeys offered as suggestions) availableSupportedThe result of isConditionalMediationAvailable()
Full getClientCapabilities listPartialShown only where the browser supports it
Creating a test passkeySupportedOne passkey is saved in this device’s password manager
Signing in with it and checking the signatureSupportedES256 and RS256, the two algorithms this page asks for
Showing the authenticator’s product nameNot supportedThe AAGUID is shown as a number only; no product list is kept
Checking the registration certificate (attestation)Not supportedThe format and contents are read only
Server-side registration and verification examplesNot supportedNo server code is shown
Sending anything to a server or storing it thereNot supportedEverything happens on this device
Deleting the test passkeyNot supportedThis page cannot remove it; delete it in the device or browser

Limits & notes

  • Each press creates one more test passkey, named “LIBRA Works test”.
  • The rp.id is this site’s host name. Passkeys of other sites are not handled.
  • When an authenticator hides its model, the AAGUID is all zeros.

Privacy & safety

Checking, registration, sign-in and the signature check all happen in your browser. Nothing is sent to a server. The test passkey is kept in your device’s password manager; this page does not store it.

FAQ

How do I check whether passkeys are supported?
When the page opens, it checks the WebAuthn API, the platform authenticator and conditional UI automatically. If the API is missing, the usual causes are an old browser or a page that is not on a secure (https) connection.
What if the platform authenticator shows false?
Biometrics or a screen-lock PIN may not be set up on the device, or that authenticator is not usable. Turning on a screen lock in the device settings may change the result to true.
What is conditional UI?
It offers saved passkeys as suggestions in the ID field (autofill). Even when the value is true, nothing is shown unless the site supports it.
What does NotAllowedError mean?
It appears when you cancel, the time runs out, or no authenticator on this device can be used. Press the button again and follow the prompts.
What is an AAGUID?
It is a 16-byte identifier of the authenticator model defined in the W3C specification. This page keeps no product list, so it shows the number only.
How do I delete the test passkey?
Delete it from your device or browser password manager (the passkey list). This page cannot delete it.

Browser Inspector

A clear list of everything your browser shows to websites without asking — browser, OS, screen, language, GPU — plus support for 60+ features such as WebGPU and video codecs. Results are shown on the spot and never sent anywhere.

No upload

TOTP Studio (2FA Code Checker)

For developers testing two-factor authentication: compute TOTP and HOTP codes from a secret, and build or read otpauth:// URIs and QR codes. Everything runs with Web Crypto in your browser; the secret is never sent or stored.

No upload

Password Studio — Generator & Strength Checker

A strong 20-character password is ready when the page opens. Fine-tune symbols and excluded characters, switch to a memorable passphrase, or check a password you already use — all without sending anything off your device.

No upload

Keyboard Test

Each key lights up on the on-screen keyboard as you press it, so dead keys stand out immediately. Supports US and Japanese JIS layouts with numpad, and measures maximum simultaneous keys and chatter (one press registering twice).

No upload

Microphone Test

Start the mic to see input level (dBFS), waveform and spectrum. Clipping, noise and mute are detected automatically, and a guided speak test rates whether your mic is good enough for meetings. Nothing is uploaded.

No upload

Mouse & Wheel Test

Test all five mouse buttons and the wheel, and automatically catch “chatter” — single clicks registering as double clicks. Double-click interval, wheel counts, polling rate (Hz) and drag breaks are measured in numbers.

No upload

Last updated: