JWT.io is widely known among developers for its convenient JWT debugger and its curated list of libraries supporting JSON Web Tokens across dozens of programming languages. While it's a helpful resource, there's a serious and often overlooked issue: many of the libraries listed are outdated, unmaintained, or outright insecure.
JWT.io not only showcases active libraries—it also lists libraries that haven't seen updates in years, or have even been archived entirely. This poses a significant risk to developers who rely on the site to find a reliable library for implementing JWT in their applications.
Several libraries haven’t been updated in over 5–10 years, making them highly questionable for use in modern applications.
The maturity of these libraries varies wildly. One supports a cryptographic algorithm that doesn’t even exist in the JWT specification: HMAC-MD5, or worse—make security design decisions that are completely unsafe.
Examples:
I also tried reporting a security issue to a Scala library: spray-jwt#5 – no response since October 2024.
I raised this problem last year by opening an issue on the JWT.io GitHub repository. Since then, I’ve also submitted multiple pull requests:
Unfortunately, there has been little to no action so far.
JWTs are commonly used for authentication and authorization—core components of application security. Using outdated or broken JWT libraries can lead to:
TL;DR: JWT.io is a popular and convenient tool, but the library list can be dangerous. Developers may unknowingly choose insecure or abandoned libraries. We need better transparency and active curation to keep the ecosystem secure.
Want to help? Star or comment on the issue I opened here:
👉 jsonwebtoken/jsonwebtoken.github.io#717