Cómo funcionan los JSON Web Tokens con el JWT Decoder
Qué hace este decodificador
Un JSON Web Token está formado por tres partes codificadas en Base64URL y unidas por puntos: un header, un payload y una signature. Este decodificador divide la cadena por esos puntos, convierte el header y el payload de nuevo a JSON legible y muestra el segmento de la signature tal cual. Lee el campo alg del header y luego expone las claims registradas estándar —sub, iss, aud, jti— junto con las claims de tiempo, para que veas de un vistazo qué afirma el token.
La decodificación se ejecuta en cuanto pegas un token, sin un paso de envío aparte. También hay un token de ejemplo disponible por si solo quieres ver cómo queda una estructura decodificada.
Cuándo conviene usarlo
Resulta útil siempre que una petición autenticada se comporta de forma extraña y necesitas ver qué transporta realmente el token. Un caso habitual es un 401 que no logras explicar: pega el token y la línea de estado te indica al instante si ha caducado, si todavía no es válido o si sigue dentro de su periodo activo.
También ayuda al montar un flujo de inicio de sesión, para confirmar que el issuer, la audience y el subject coinciden con lo que espera el backend, o para comprobar que una claim personalizada que añadiste en el servidor llegó de verdad al payload.
Ejemplo: leer las tres partes
Con un token del estilo eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.SflKx..., el primer segmento se decodifica en un header como {"alg":"HS256","typ":"JWT"}, el segundo en un payload como {"sub":"1234","iat":1700000000,"exp":1700003600} y el tercero permanece como la signature opaca. El decodificador transforma los valores numéricos iat y exp en fechas locales y, si el token sigue vigente, muestra cuánto falta para que caduque.
Notas y casos límite
Decodificar no es verificar. Esta herramienta nunca contrasta la signature con una clave secreta o pública, así que un token decodificado solo demuestra lo que afirma, no que esas afirmaciones sean de fiar: verifica siempre la signature en el servidor con una biblioteca adecuada antes de actuar sobre un token. Como el payload solo está codificado en Base64URL, considera legible su contenido para cualquiera que tenga el token, porque no está cifrado. Por eso conviene no pegar tokens de producción reales que no sean tuyos, y recuerda que exp y nbf son marcas de tiempo Unix en segundos, motivo por el que un token aparece como caducado en el mismo instante en que se supera su exp.