Empezar Enviar un sitio

Decodificador de JWT

Developer Tools

Pega un JSON Web Token para leer su cabecera, su carga y la hora exacta de caducidad, todo en local sin enviar el token a ningún servidor.

Pega el token completo de tres partes, incluidos ambos puntos.

Resultado

Estado —
  • Caduca —
  • Algoritmo —
  • Tipo de token —
  • Carga útil —
  • Encabezado —

Cambia cualquier dato y el resultado se actualiza al instante.

Fórmula y reglas

  • Un JWT contiene tres partes en Base64URL separadas por puntos: encabezado, carga útil y firma.
  • Base64URL sustituye + por - y / por _, y elimina el relleno =, para que los tokens funcionen en URL y encabezados HTTP.
  • El claim exp es una marca de tiempo Unix en segundos, por lo que un token caduca cuando la hora actual supera ese número.
  • La decodificación solo lee las dos partes JSON; nunca verifica la firma, que el servidor debe verificar.

Ejemplos resueltos

Decodificar un token de demostración

Entrada El token precargado, exp = 1700003600.

Resultado Algoritmo HS256, tipo JWT, cuatro claims, caducidad 2023-11-14 23:13:20 UTC.

Un token sin exp

Entrada Un payload de {"sub":"42","scope":"read"}.

Resultado El estado indica que el token no tiene declaración de caducidad, por lo que nunca expira por sí solo.

Un token truncado

Entrada abc.def

Resultado Un error explica que un JWT debe tener tres partes antes de poder decodificar nada.

Preguntas frecuentes

¿Decodificar demuestra que el token es auténtico?

No. Cualquiera puede crear un token con la carga útil que desee. Solo un servidor que verifique la firma con la clave secreta o pública puede determinar si un token fue emitido por ti.

¿Es seguro pegar un token de producción?

La decodificación se realiza en tu navegador, por lo que el token no se sube. Aun así, trátalo como una contraseña: usa preferiblemente un token de prueba y rota cualquier cosa que pegues en una pantalla compartida.

¿Por qué un token recién generado ya ha caducado?

O el reloj del emisor va por detrás del tuyo, o se ha pasado un valor exp en milisegundos donde se esperaban segundos. Esta herramienta interpreta exp como segundos, conforme a la especificación JWT.

¿Y si el encabezado o la carga útil no son JSON?

El decodificador muestra un error. La especificación JWT exige que ambas partes sean objetos JSON codificados en base64url, por lo que una parte que no sea JSON suele indicar que la cadena no es un JWT.

Descargo de responsabilidad: Los resultados siguen la fórmula mostrada en esta página y son solo orientativos. Las cantidades reales varían según los materiales, la técnica y las condiciones, así que deja un margen antes de hacer el pedido.