jwt-decode is a browser-focused JavaScript library for decoding JSON Web Tokens (JWTs) that are Base64Url encoded, returning the decoded payload or header. It is useful for extracting claim data in client-side applications, but it does not validate token signatures or contents, so validation should be done server-side with a JWT verification library.
Project status
- Maintenance status: The repo shows an upstream push on 2026-08-03, but the most recent published updates listed are from 2023-10-27 (v4.0.0), so published updates appear infrequent and the library is likely mostly quiet for consumers even if development continues.
- Update cadence (apparent): After early/mid-2023 beta updates, the project shipped v4.0.0 on 2023-10-27 and then shows no further published updates in the provided history through 2026-08-13.
AI summary generated
Recent updates
v4.0.0
v4.0.0 rewrites jwt-decode to use a modern ESM/CJS setup via the package.json exports field, and it changes the public API to provide jwtDecode as a named export instead of a default export. The implementation also removes the bundled atob polyfill and relies on the runtime atob, with TypeScript overloads to infer return types based on options.header.
BreakingFeaturesv4.0.0-beta.4
Release v4.0.0-beta.4 updates the project to require Node.js 18+. The diff also includes TypeScript-level refinements around jwtDecode error handling/typing, plus substantial build and tooling changes (linting, CI workflows, and dev dependencies).
BreakingFeaturesv4.0.0-beta.3
v4.0.0-beta.3 removes the UMD bundle and switches the build pipeline away from rollup/tsup to a tsc-based build. The core JWT decoding logic remains in lib/index.ts, but module entry points, build outputs, and some internals were reorganized to match the new packaging approach.
Breakingv4.0.0-beta.2
v4.0.0-beta.2 shifts the library to TypeScript source (lib/index.ts) and updates the public packaging so that default exports are avoided and types are bundled correctly. It also modernizes the build and test setup (rollup/ts + jest) and changes how the package is exported for ESM vs CJS consumption.
Breakingv4.0.0-beta.1
v4.0.0-beta.1 contains a single fix related to the package build process. The release ensures the build step runs during the npm prepack phase, which helps prevent publishing artifacts from being out of date.
v4.0.0-beta.0
v4.0.0-beta.0 updates the library build and runtime assumptions, including removing the atob polyfill, changing the compile target to ES2017, and modernizing Node support (dropping Node 14, adding Node 20). It also reorganizes published build artifacts to improve CJS/ESM support and adds support for package.json exports, which may affect how consumers import the package.
BreakingFeatures