CalcMint

Decodificador y generador de JWT

Pega un JSON Web Token para leer su header y sus claims, ver cuándo caduca y verificar la firma. Tu token no sale de esta página.

Decodificador y generador de JWT

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTc2NzIyNTYwMCwiZXhwIjoxODkzNDU2MDAwfQ.vgHtS5dyaSUxDoPpQPoyaFVrg5I8B0EV9R0_Ah59pxU

Header

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

Payload

{
  "sub": "1234567890",
  "name": "Jane Doe",
  "admin": true,
  "iat": 1767225600,
  "exp": 1893456000
}
Algoritmo (alg)
HS256
Tipo (typ)
JWT
Sujeto (sub)
1234567890
Emitido (iat)
jueves, 1 de enero de 2026, 9:00:00 GMT+9
Caduca (exp)
martes, 1 de enero de 2030, 9:00:00 GMT+9
Añade esta calculadora a tu web

Copia el código y pégalo en el HTML de tu página. Es gratis; mantén el enlace de crédito, por favor.

Cómo se forma un JWT

Un JSON Web Token (RFC 7519) son tres cadenas Base64URL unidas por puntos: header.payload.firma. El header indica el algoritmo de firma, el payload contiene los claims (ID de usuario, roles, caducidad) y la firma se calcula sobre las dos primeras partes.

Con HS256 la firma es un HMAC hecho con un secreto compartido: el mismo secreto firma y verifica. RS256, PS256 y ES256 firman con una clave privada y verifican con una pública, así muchos servicios pueden comprobar tokens sin poder crearlos.

Cómo comprobar un token con seguridad

  • Verifica siempre la firma en el servidor y rechaza alg "none".
  • Fija el algoritmo esperado: no dejes que lo elija el header del token.
  • Comprueba exp, nbf, iss y aud, con uno o dos minutos de margen de reloj.
  • Usa tokens de vida corta y trátalos como contraseñas: este decodificador funciona sin conexión, pero muchos otros lo envían a un servidor.

Claims registrados de JWT (RFC 7519)

ClaimNombreSignificado
issEmisorQuién creó y firmó el token
subSujetoDe quién trata el token, normalmente un ID de usuario
audAudienciaPara quién es el token
expCaducidadSegundos desde 1970 a partir de los que debe rechazarse
nbfNo antes deSegundos desde 1970 antes de los que debe rechazarse
iatEmitidoCuándo se creó
jtiID del JWTID único para evitar que se reutilice

Preguntas frecuentes

¿Cualquiera puede leer un JWT?

Sí. El header y el payload solo están codificados en Base64URL, no cifrados, así que quien tenga el token puede leerlos. Nunca pongas contraseñas ni secretos en el payload.

¿Decodificar un JWT comprueba que es válido?

No. Decodificar solo lee el contenido. Solo la verificación de la firma con el secreto o la clave pública correctos demuestra que no se falsificó ni modificó, y el servidor debe comprobar además exp, nbf y aud.

¿Por qué mi token aparece caducado si se acaba de emitir?

exp, iat y nbf van en segundos desde 1970, no en milisegundos. Si se usa Date.now() de JavaScript sin dividir entre 1000, la fecha queda a miles de años, y las diferencias de reloj entre servidores pueden hacer que un token nuevo parezca caducado o aún no válido.

¿Lo que pego se envía a un servidor?

No. Esta herramienta funciona por completo en tu navegador con JavaScript y la API Web Crypto integrada. Nada de lo que escribes, pegas o abres se sube ni se guarda.

Calculadoras relacionadas