Decodificador JWT: encabezado, payload y expiración

Decodifique JSON Web Tokens (JWT) al instante. Vea el encabezado, la carga útil y la firma de forma segura.

Decodificador JWT

Informar un problema

¿Encontró un error o tiene una sugerencia para Decodificador JWT: encabezado, payload y expiración? ¡Háganoslo saber!

Cómo lee un token este decodificador de JWT

Un JSON Web Token reúne tres partes en una sola cadena: encabezado, carga útil y firma. Este decodificador separa un token codificado en esas tres partes, convierte el encabezado y la carga útil de nuevo en JSON legible, y extrae el algoritmo, la fecha de emisión y la fecha de expiración, para que puedas revisar un token sin escribir código.

Encabezado, carga útil y firma

Un token se divide en tres partes mediante dos puntos: encabezado.carga_útil.firma. Las dos primeras partes son JSON codificado en base64url, así que decodificarlas es una operación reversible, no un cifrado. El encabezado indica el algoritmo de firma, el campo alg, por ejemplo HS256 o RS256, y el tipo de token. La carga útil contiene los claims: un identificador de sujeto, campos personalizados y normalmente iat (momento de emisión) y exp (momento de expiración) guardados como segundos Unix. La firma es un valor criptográfico calculado a partir del encabezado y la carga útil; confirmarla requiere la clave secreta o privada que la creó, así que leer el contenido de un token es una operación distinta de verificar que sea auténtico. Algunos tokens se firman con alg en none y solo tienen dos partes, encabezado.carga_útil, porque no hay nada que firmar; el decodificador también acepta esa forma más corta y deja vacío el segmento de la firma.

Ejemplo resuelto

Pega un token como el siguiente y se separará en tres segmentos de color, luego el encabezado y la carga útil aparecerán como JSON con formato.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0NzU2MTAyOTM4IiwibmFtZSI6IlNvZmlhIEdhcmNpYSIsImlhdCI6MTcwMDQ4MTYwMCwiZXhwIjoxNzA4MjU3NjAwfQ.WetVTuEacuuB8nqBJB4-jexLjDo

{
  "alg": "HS256",
  "typ": "JWT"
}

{
  "sub": "4756102938",
  "name": "Sofia Garcia",
  "iat": 1700481600,
  "exp": 1708257600
}

La insignia Algorithm muestra HS256, tomado del encabezado. El valor iat equivale al 20 de noviembre de 2023 y el valor exp al 18 de febrero de 2024; como esa fecha ya pasó, la insignia Status muestra EXPIRED. Nada de esto ocurre en un servidor: la decodificación se ejecuta en el navegador, y la herramienta nunca comprueba si la firma es auténtica porque no tiene acceso a la clave que la creó.

Preguntas Frecuentes