Saltar al contenido
EVOA Toolbox

Decodificador de JWT

Decodifica la cabecera y la carga de un JSON Web Token y ve exp, iat y nbf como fechas. Decodificar no es verificar: la firma no se comprueba.

Se procesa en local, en tu navegador. Tu texto no se sube.

Cargando herramienta…

Qué hace esta herramienta

Pega un JSON Web Token y lee lo que contiene. La herramienta lo separa en cabecera, carga (payload) y firma, decodifica las partes Base64url como UTF-8 y da formato al JSON con resaltado de sintaxis. Los campos de tiempo registrados exp (caducidad), nbf (no válido antes de) e iat (emitido en) se muestran como fechas legibles, con un indicador claro de caducado, aún no válido o válido ahora, según el reloj de tu dispositivo.

Importante: decodificar no es verificar. La cabecera y la carga de un JWT solo están codificadas, no cifradas, y cualquiera puede crear un token con el contenido que quiera. Esta herramienta nunca comprueba la firma, el emisor, la audiencia ni ningún otro campo, así que un token que se decodifica aquí puede ser igualmente falso, haber sido manipulado o estar revocado. Nunca confíes en un token solo porque se decodifique. La verificación debe hacerla tu servidor con la clave correcta.

Los tokens son credenciales. La decodificación se hace por completo en tu navegador y el token no se envía a ningún sitio, pero aun así conviene evitar pegar tokens de producción activos en dispositivos que no controlas. La herramienta también avisa cuando un token declara alg “none” o no tiene firma, señales clásicas de un token inseguro o falsificado.

Cómo usarla

  1. 1Pega el token completo (tres partes separadas por puntos). Si empieza por “Bearer ”, se quita automáticamente.
  2. 2Lee la cabecera y la carga decodificadas, y las fechas de exp, nbf e iat.
  3. 3Revisa los avisos, como alg “none” o la falta de firma.
  4. 4Copia el JSON decodificado si lo necesitas. Verifica la firma en tu propio backend, nunca aquí.

Formatos compatibles

Tokens JWS en serialización compacta (cabecera.carga.firma) con cabecera y carga en JSON. Los tokens cifrados (JWE, cinco partes) no se pueden decodificar.

Privacidad

Esta herramienta se ejecuta en tu navegador. Los datos que proporcionas se procesan en tu dispositivo y no se envían a nuestros servidores.

Limitaciones

  • La firma NO se verifica. La herramienta no puede decirte si un token es auténtico, si sigue vigente en el servidor, si está revocado o si va dirigido a tu aplicación.
  • El estado de caducidad y de “no válido antes de” se calcula con el reloj de tu dispositivo, que puede estar mal, y los servidores suelen admitir cierto desfase de reloj.
  • Los JWT cifrados (JWE) tienen cinco partes y una carga ilegible; aquí se notifican como mal formados.
  • Los campos de tiempo deben ser números de segundos desde 1970. Otros valores se muestran como no válidos.
  • Los demás campos (iss, aud, sub, scope…) se muestran, pero no se interpretan ni se validan.

Preguntas frecuentes

¿Que un token se decodifique significa que es válido?

No. Decodificar no es verificar. Cualquiera puede escribir un token cuya carga diga lo que quiera. Solo comprobar la firma con el secreto o la clave pública correctos, y validar campos como el emisor, la audiencia y la caducidad, hace que un token sea de fiar.

¿Mi token se envía a un servidor?

No. Se decodifica en tu navegador y no se transmite. Aun así, trata los tokens como contraseñas y, siempre que puedas, usa tokens caducados o de prueba.

¿Qué significa alg “none”?

Declara un token sin firmar. Los servidores deben rechazarlos salvo que los esperen explícitamente; aceptarlos permite a un atacante falsificar cualquier carga. La herramienta avisa cuando ve uno.

¿Por qué dice que mi token está caducado si el servidor lo acepta?

El reloj de tu dispositivo puede diferir del del servidor, o el servidor admite cierto margen. El estado que se muestra aquí es una comodidad basada en tu hora local, no una autoridad.

Herramientas relacionadas