# jwt.js **Repository Path**: nats-io/jwt.js ## Basic Information - **Project Name**: jwt.js - **Description**: JWT tokens signed using nkeys for Ed25519 for the NATS JavaScript ecosystem - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-25 - **Last Updated**: 2025-10-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jwt.js [![License](https://img.shields.io/badge/Licence-Apache%202.0-blue.svg)](./LICENSE) ![jwt](https://github.com/nats-io/jwt.js/actions/workflows/jwtjs.yml/badge.svg) [![JSDoc](https://img.shields.io/badge/JSDoc-reference-blue)](https://nats-io.github.io/jwt.js/) [![JSR](https://jsr.io/badges/@nats-io/jwt)](https://jsr.io/@nats-io/jwt) [![JSR](https://jsr.io/badges/@nats-io/jwt/score)](https://jsr.io/@nats-io/jwt) [![NPM Version](https://img.shields.io/npm/v/%40nats-io%2Fjwt)](https://www.npmjs.com/package/@nats-io/jwt) ![NPM Downloads](https://img.shields.io/npm/dt/%40nats-io%2Fjwt) ![NPM Downloads](https://img.shields.io/npm/dm/%40nats-io%2Fjwt) JWT tokens signed using nkeys for Ed25519 for the NATS JavaScript ecosystem. ### Very Important Disclaimer This repository provides an API to build NATS JWTs using JavaScript. However, at this time it is _not_ a supported API. Use at your own risk. One important take away from this project is that the purpose of the library is for building JWTs, not to validate them exhaustively. This means that tokens generated by this library are expected to be validated by a process that uses the [NATS JWT Go library](github.com/nats-io/jwt). As that library is the one used by: - [nats-server](github.com/nats-io/nats-server), - [nats-account-server](github.com/nats-io/nats-account-server) - [nsc](github.com/nats-io/nsc) Under that context, ultimate validity of the JWT is delegated to tools or servers that use the [NATS JWT Go library](github.com/nats-io/jwt). Use of this library implies an agreement with the above disclaimer. ## Installation This module is distributed in two different registries: - npm a node-specific library supporting CJS (`require`) and ESM (`import`) for node specific projects - jsr a node and other ESM (`import`) compatible runtimes (deno, browser, node) If your application doesn't use `require`, you can simply depend on the JSR version. ### NPM The NPM registry hosts a node-only compatible version of the library supporting both CJS and ESM: ```bash npm install @nats-io/nats-core ``` ### JSR The JSR registry hosts the ESM-only version of the library. ```bash deno add jsr:@nats-io/jwt ``` ```bash npx jsr add @nats-io/jwt ``` ```bash yarn dlx jsr add @nats-io/jwt ``` ```bash bunx jsr add @nats-io/jwt ``` ## API The API of this library requires knowledge of the NATS JWT entities. ### How use it For now please look at the tests, and investigate the source.