Saltar al contenido

Decodificador de tokens JWT

Muestra header y payload de un JWT con fechas legibles.

DesarrolladoresSe procesa en tu navegador

El token se decodifica en tu navegador y no se envía a ningún servidor. Aun así, trátalo como una credencial: si lo guardas en tu historial quedará almacenado en tu cuenta, y no deberías compartir tokens reales de producción en herramientas públicas.

Fechas del token

iat
18 de enero de 2018 a las 1:30:22
nbf
No incluido
exp
26 de septiembre de 2049 a las 4:17:02

Header

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

Payload

{
  "sub": "1234567890",
  "name": "Miguel",
  "iat": 1516239022,
  "exp": 2516242622
}
Esta herramienta solo decodifica: no comprueba la firma. Un JWT decodificado no demuestra por sí solo que sea auténtico.

Este decodificador de JWT muestra el header y el payload de un token en formato legible, junto con sus fechas de emisión (iat), inicio de validez (nbf) y caducidad (exp) ya convertidas a una fecha normal. Es la herramienta habitual para depurar problemas de autenticación: ver qué claims lleva un token o por qué una API lo está rechazando por caducado.

El token se procesa por completo en tu navegador: nunca se envía a un servidor. Aun así, un JWT casi siempre identifica a una persona o a una sesión real, así que trátalo con el mismo cuidado que una contraseña.

Cómo usar

  1. 1Pega tu token JWT completo (header.payload.signature).
  2. 2Revisa el header y el payload ya convertidos en JSON legible.
  3. 3Comprueba las fechas iat, nbf y exp en un formato legible.
  4. 4Si el token está caducado o aún no es válido, verás un aviso claro junto a las fechas.

Qué puedes hacer

  • Header y payload formateados
  • Fechas exp, iat y nbf legibles
  • Aviso de token caducado

Qué es un JWT y de qué partes se compone

Un JSON Web Token (JWT) son tres bloques separados por puntos: header.payload.signature. El header indica el algoritmo de firma; el payload lleva los datos (claims) del token, como el usuario o la fecha de caducidad; la firma permite comprobar que nadie modificó el contenido, siempre que se tenga la clave del emisor.

Header y payload están codificados en Base64URL, no cifrados: cualquiera puede decodificarlos y leer su contenido, con o sin esta herramienta. Por eso nunca se debe guardar información sensible (contraseñas, datos personales delicados) directamente en el payload de un JWT.

Cómo interpretar exp, iat y nbf

Estos tres claims son fechas expresadas en segundos desde el 1 de enero de 1970 (época Unix). iat (issued at) es el momento en que se generó el token; nbf (not before) es el momento a partir del cual empieza a ser válido; exp (expiration) es el momento en que deja de serlo.

  • iat: cuándo se creó el token.
  • nbf: no lo aceptes antes de esta fecha (poco frecuente, pero existe).
  • exp: a partir de esta fecha, el token debe ser rechazado.

Decodificar no es lo mismo que verificar

Esta herramienta lee el contenido del token, pero no comprueba su firma: eso exigiría la clave secreta o pública del servidor que lo emitió, algo que nunca deberías introducir en una web pública. Un token puede decodificarse perfectamente y aun así ser falso o estar manipulado si su firma no es válida.

Para depurar un problema de autenticación, esta herramienta te dice qué dice el token; para confirmar que es auténtico, esa comprobación debe hacerla siempre el backend que lo emitió, con su clave privada.

Preguntas frecuentes

¿Qué es un JWT y es seguro decodificarlo online?

Un JWT es un token que lleva datos en su payload, codificados en Base64URL pero no cifrados: decodificarlo no revela nada que un atacante no pudiera leer ya con cualquier decodificador Base64URL. Es seguro siempre que la herramienta procese el token en tu navegador (como esta) y no lo envíe a un servidor externo.

¿Esta herramienta comprueba si la firma del token es válida?

No. Solo decodifica el header y el payload para que puedas leerlos. Verificar la firma exige la clave secreta o pública del emisor, que por seguridad nunca deberías pegar en una herramienta online.

¿Qué significan los campos exp, iat y nbf?

Son fechas en segundos desde 1970: iat es cuándo se creó el token, nbf desde cuándo es válido y exp hasta cuándo lo es. Esta herramienta los convierte automáticamente a una fecha legible y avisa si el token ya caducó o todavía no es válido.

¿Por qué mi JWT no se decodifica?

Lo más habitual es que falte alguna de las tres partes (header, payload o firma) separadas por puntos, o que se haya cortado el texto al copiarlo. Revisa que el token empiece y termine completo, sin espacios añadidos.

¿Debo pegar tokens de producción en herramientas online?

Como norma general, evítalo. Aunque esta herramienta no envíe el token a ningún servidor, un JWT real identifica a un usuario o a una sesión, así que conviene tratarlo como una credencial y usar tokens de prueba siempre que sea posible.

¿El token se guarda o se envía a algún servidor?

No se envía a ningún servidor: se decodifica en tu navegador. Si decides guardarlo en tu historial, quedará almacenado en tu cuenta hasta que lo borres; ten esto en cuenta si el token es sensible.

Más en Desarrolladores