Saltar al contenido principal
Utilia

Decodificador de JWT

Pega un token JWT (header.payload.signature) y verás el header y el payload en JSON legible, con las fechas de emisión y caducidad traducidas a tu hora local y un aviso claro de si el token sigue vigente. La decodificación es local y solo lectura.

Tres partes separadas por puntos: header.payload.signature.

La firma no se verifica: esta herramienta solo lee el contenido. No uses el resultado para autorizar nada.

Todo se calcula en tu navegador: no enviamos tus datos a ningún servidor.

Las tres partes de un JWT

Un JWT son tres bloques codificados en Base64 de URL y separados por puntos. El header declara el algoritmo de firma (alg) y el tipo (typ); el payload lleva las claims, como sub (sujeto), iat (emitido en), nbf (válido desde) y exp (caduca en), que son fechas en segundos desde 1970; la firma cierra el token y aquí solo se ignora, no se comprueba.

Qué verás al decodificar

  • El header y el payload en JSON formateado y copiables.
  • Las claims de tiempo iat, nbf y exp convertidas a fecha y hora, con un cálculo de hace cuánto o cuánto falta.
  • El estado de caducidad: vigente (y cuánto le queda) o expirado.

La firma no se verifica: cualquiera puede fabricar un JWT legible. No uses esta herramienta para autorizar accesos ni para validar sesiones; eso solo lo hace tu backend con la clave secreta.

Si el token no decodifica

Los fallos más comunes son copiar el token incompleto (faltan partes o la firma), arrastrar un salto de línea o las comillas del editor, o que el token esté cifrado (JWE) en lugar de firmado (JWS). Revisa que haya tres partes y pega el token entero, sin comillas.

Preguntas frecuentes

¿Esta herramienta verifica la firma del token?
No. Decodifica el contenido para inspeccionarlo, que es distinto de validarlo. La verificación exige la clave secreta o la clave pública del emisor y debe hacerse en tu servidor.
¿Es seguro pegar mi token aquí?
La decodificación ocurre en tu navegador y nada se envía a ningún servidor. Aun así, un token es una credencial: evita pegar tokens reales de producción en cualquier sitio y usa tokens de prueba cuando puedas.
¿Qué significa la claim exp?
Es la fecha de caducidad en segundos desde el 1 de enero de 1970 (hora Unix). Cuando la hora actual la supera, el token está expirado y el backend debe rechazarlo.
¿Por qué el payload se puede leer si el token «está protegido»?
Porque un JWT firmado no va cifrado: la firma garantiza que nadie lo ha modificado, no que sea secreto. Para confidencialidad se usa JWE o se cifra el canal (HTTPS).

Continúa donde lo dejaste con estas utilidades que combinan bien con esta.