MasterKale/SimpleWebAuthn

WebAuthn, Simplified. A collection of TypeScript-first libraries for simpler WebAuthn integration. Supports modern browsers, Node, Deno, and more.

TypeScript

2,365

2,578 commits

updated Oct 11, 2026

See the code

README

SimpleWebAuthn

WebAuthn npm (scoped) JSR Scope

Overview

This project features two complimentary libraries to help reduce the amount of work needed to incorporate WebAuthn into a website. The following packages are maintained here:

Installation

SimpleWebAuthn can be installed from NPM and JSR in Node LTS 22.x and higher, Deno v2.4.x and higher projects, and other compatible runtimes (Cloudflare Workers, Bun, etc...)

See the packages' READMEs for more specific installation information.

Supported Versions Strategy

SimpleWebAuthn actively supports the following runtimes, targeting versions using the guidelines below:

Node: LTS releases in Active and Maintenance mode, as per https://nodejs.org/en/about/previous-releases.

Deno: SemVer minor releases (e.g. 2.4.x) for up to one year after their release, as per https://github.com/denoland/deno/releases.

Documentation

In-depth documentation for this project is available at https://simplewebauthn.dev/docs

Sponsors

Thank you very much to those who sponsor my work. Your contributions help keep the open-source dream alive 🙇‍♂️

Interested in sponsoring this project? See here for more info: https://github.com/sponsors/MasterKale

🌟 Platinum Sponsor

🏅 Gold Sponsor

Example

For a practical guide to implementing these libraries, take a look at the example project. It includes a single-file Express server and a few HTML files that, combined with the packages in this repo, are close to all it takes to get up and running with WebAuthn.

Contributions

The SimpleWebAuthn project is not currently open to external contributions.

Please submit an Issue and fill out the provided template with as much information as possible if you have found a bug in need of fixing.

You can also submit an Issue to request new features, or to suggest changes to existing features.

Development

Install the following before proceeding:

  • Deno v2.4.x

After pulling down the code, set up dependencies:

deno install

To run unit tests for all workspace packages, use the test series of scripts:

cd packages/browser/ && deno task test
cd packages/server/ && deno task test

Tests can be run in watch mode with the test:watch series of scripts:

cd packages/browser/ && deno task test:watch
cd packages/server/ && deno task test:watch

Test Coverage

The following additional dependencies are needed locally to display test coverage reports:

  • genhtml (run brew install lcov on macOS to install this CLI tool)

Then run the following command to run tests and then host a coverage report at http://127.0.0.1:8000:

deno run test:coverage
browser
commonjs
deno
denoland
esm
fido
node
passkeys
typescript
umd
webauthn

MasterKale/SimpleWebAuthn

WebAuthn, Simplified. A collection of TypeScript-first libraries for simpler WebAuthn integration. Supports modern browsers, Node, Deno, and more.

TypeScript

2,365

2,578 commits

updated Oct 11, 2026

See the code

README

SimpleWebAuthn

WebAuthn npm (scoped) JSR Scope

Overview

This project features two complimentary libraries to help reduce the amount of work needed to incorporate WebAuthn into a website. The following packages are maintained here:

Installation

SimpleWebAuthn can be installed from NPM and JSR in Node LTS 22.x and higher, Deno v2.4.x and higher projects, and other compatible runtimes (Cloudflare Workers, Bun, etc...)

See the packages' READMEs for more specific installation information.

Supported Versions Strategy

SimpleWebAuthn actively supports the following runtimes, targeting versions using the guidelines below:

Node: LTS releases in Active and Maintenance mode, as per https://nodejs.org/en/about/previous-releases.

Deno: SemVer minor releases (e.g. 2.4.x) for up to one year after their release, as per https://github.com/denoland/deno/releases.

Documentation

In-depth documentation for this project is available at https://simplewebauthn.dev/docs

Sponsors

Thank you very much to those who sponsor my work. Your contributions help keep the open-source dream alive 🙇‍♂️

Interested in sponsoring this project? See here for more info: https://github.com/sponsors/MasterKale

🌟 Platinum Sponsor

🏅 Gold Sponsor

Example

For a practical guide to implementing these libraries, take a look at the example project. It includes a single-file Express server and a few HTML files that, combined with the packages in this repo, are close to all it takes to get up and running with WebAuthn.

Contributions

The SimpleWebAuthn project is not currently open to external contributions.

Please submit an Issue and fill out the provided template with as much information as possible if you have found a bug in need of fixing.

You can also submit an Issue to request new features, or to suggest changes to existing features.

Development

Install the following before proceeding:

  • Deno v2.4.x

After pulling down the code, set up dependencies:

deno install

To run unit tests for all workspace packages, use the test series of scripts:

cd packages/browser/ && deno task test
cd packages/server/ && deno task test

Tests can be run in watch mode with the test:watch series of scripts:

cd packages/browser/ && deno task test:watch
cd packages/server/ && deno task test:watch

Test Coverage

The following additional dependencies are needed locally to display test coverage reports:

  • genhtml (run brew install lcov on macOS to install this CLI tool)

Then run the following command to run tests and then host a coverage report at http://127.0.0.1:8000:

deno run test:coverage
browser
commonjs
deno
denoland
esm
fido
node
passkeys
typescript
umd
webauthn

Project health

Overall

3.8/10

Maintained

10/10

Code review

0/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 47)

Robert Jackson

1,195 followers · starred Feb 2025

Michael Ficarra

1,141 followers · starred Jul 2023

Alex Yang

6,375 followers · starred Sep 2025

Mitar

448 followers · starred Jan 2026