jose is a JavaScript module for JSON Object Signing and Encryption that works across Node.js, browsers, Cloudflare Workers, Deno, Bun, and other Web-interoperable runtimes.
The module addresses the need for standardized JWT and JWE handling in JavaScript environments by implementing the full suite of JSON Web standards: JWA, JWS, JWE, JWT, JWK, and JWKS. It provides functions for signing and verifying tokens with JWT Claims Set validation, encrypting and decrypting tokens, and managing keys in multiple formats including PEM and JSON Web Key representations. The tool supports both remote and local JSON Web Key Sets for verification workflows.
Developers should choose this tool if they need JWT or JWE support across multiple JavaScript runtimes without adding external dependencies. It suits projects ranging from Node.js backends to browser applications and serverless environments like Cloudflare Workers. The module's zero-dependency design and tree-shakeable ESM exports make it lightweight for browser contexts where bundle size matters. It is distributed through multiple channels including npm, JSR, and CDN services.
The project maintains active engagement with the community through sponsorship options and accepts contributions. Development activity shows consistent attention to supporting emerging JavaScript runtimes and maintaining compatibility across the expanding ecosystem of Web-interoperable platforms.