Skip to main content

SimpleWebAuthn Project

WebAuthn npm (scoped)


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

An additional package is also included that contains shared TypeScript definitions:

See these packages’ READMEs for more specific implementation information.

API Documentation

In-depth documentation for all of the packages in this project is available here:


These packages are all available on npm for use in Node LTS 16.x projects and supports both CommonJS and ECMAScript modules (ESM):

npm install @simplewebauthn/browser
npm install @simplewebauthn/server
npm install @simplewebauthn/typescript-types

The server and typescript-types packages are also available for import into Deno v1.33.x projects from

import {...} from '';
import type {...} from '';


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.


Install the following before proceeding:

  • Node.js 18.x
  • Deno 1.36.x
  • pnpm 8.6.x

After pulling down the code, set up dependencies:

$> pnpm install

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

# Run All tests
$> pnpm run test
# Run an individual package's tests
$> pnpm run test:browser
$> pnpm run test:server

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

$> pnpm run dev:browser
$> pnpm run dev:server