Depurador / decodificador JWT

Pegue cualquier JWT para decodificar sus tres partes separadas por puntos: la cabecera, la carga útil y la firma en base64url se muestran como JSON con formato, y las claims registradas (exp, iat, nbf y similares) se convierten a su hora local. Después puede verificar la firma con la API WebCrypto: HMAC (HS256/384/512) con un secreto, o RSA/ECDSA (RS256/384/512, ES256/384/512) con una clave pública PEM, y tiene un token HS256 de ejemplo a un clic para experimentar. Todo se ejecuta en local: los tokens, los secretos y las claves nunca se envían a ningún sitio.
Token JWT Formato: cabecera.carga.firma (tres segmentos en base64url).
Aviso: este token declara alg:none, lo que significa que no está firmado. Los servicios reales deben rechazar los tokens sin firma: trátelo como no fiable.
ClaimValorInterpretación
Secreto
crypto.subtle no está disponible en este contexto, así que la verificación de la firma está desactivada. Abra la página con https: o desde un archivo local para activarla. La decodificación sigue funcionando.
Cómo leer el resultado: la cabecera suele llevar alg (el algoritmo de firma) y typ. Las claims registradas mostradas con conversión a la hora local son iat (emitido el), nbf (no válido antes de) y exp (caducidad): una insignia roja indica que el token ha caducado, ámbar que caduca en menos de 24 horas. La verificación de la firma calcula el mismo MAC que calcularía el emisor, o comprueba la clave pública RSA/ECDSA que pegue, y después marca el token como VÁLIDO o NO VÁLIDO. Solo pueden verificarse los algoritmos implementados por la capa WebCrypto del navegador; cualquier otro se informa como no admitido en lugar de adivinarlo.

Claims registradas habituales: sub (sujeto) es el usuario o la entidad a la que se refiere el token; en su ejemplo es solo un ID numérico, pero los servicios suelen poner aquí un correo, un nombre de usuario o un UUID. iss nombra al emisor, aud nombra la audiencia prevista, y jti es un ID único del token que sirve para evitar la repetición. Estas claims no están cifradas: cualquiera con el token puede leerlas, así que nunca ponga contraseñas ni secretos en la carga útil de un JWT.

Privacidad: la decodificación y la verificación se realizan por completo en esta página con la API WebCrypto: el token, su secreto y cualquier clave pública nunca se transmiten. Para un token alg:none, la página muestra un aviso claro: un API real nunca debería aceptar tokens sin firmar.