Blog
Español

Decodificar JWT online — Inspecciona JSON Web Tokens

Decodifica el header y el payload de un JWT y revisa su caducidad (sin verificar la firma)

Funciona en tu navegador · no se sube nada

Esta herramienta solo decodifica el token. NO verifica la firma, así que poder leerlo no significa que el token sea válido ni de confianza. Nada sale de tu navegador.

Qué es

Un JWT (JSON Web Token) transporta afirmaciones (claims), como quién es un usuario. Tiene tres partes separadas por puntos: header, payload y firma. Las dos primeras son JSON codificado en base64url, así que cualquiera puede leerlas. Esta herramienta desempaqueta el token y muestra su contenido de forma ordenada, pero no comprueba la firma.

Cómo se usa

  1. Pega el token en la entrada. Se ignoran un Bearer inicial y los saltos de línea.
  2. El header y el payload aparecen como JSON sangrado, cada uno con su propio botón de copiar.
  3. Si el payload tiene exp, iat o nbf, se muestran como fechas legibles junto con el tiempo que falta o que ha pasado («dentro de 3 horas», «hace 2 días»), y se indica el estado de caducidad.
  4. Si el token está mal formado, el error te dice qué parte falla. Un token cifrado de cinco partes (JWE) se indica como ilegible sin su clave.

Cómo funciona

  • La estructura sigue la RFC 7519 (JWT) y la RFC 7515 (JWS): exactamente tres partes separadas por puntos.
  • Cada parte se decodifica desde base64url según la RFC 4648 (- y _, relleno opcional) y se lee como UTF-8.
  • El header y el payload deben ser objetos JSON; un array o una cadena se indican como error.
  • exp, iat y nbf se interpretan como segundos solo cuando son números, y se muestran en el formato de tu idioma y en ISO 8601 (UTC).
  • El estado de caducidad solo compara la hora actual con exp y nbf. La firma no se verifica, así que los tokens con alg none o con una firma incorrecta se decodifican igual.

Ejemplos

Parte Contenido
Inicio del token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
header {"alg": "HS256", "typ": "JWT"}
payload {"sub": "1234567890", "name": "John Doe", "iat": 1516239022}
iat 2018-01-18T01:30:22Z

Ese token es la muestra de práctica habitual en las introducciones a JWT. Un token cuyo payload contiene {"name": "José Peña"} también se decodifica sin caracteres extraños.

Preguntas frecuentes

¿Esta herramienta verifica la firma del JWT?

No, solo decodifica. Poder leer un token no significa que sea auténtico ni válido. La confianza se decide verificando la firma con la clave secreta o pública en tu servidor.

¿Es seguro pegar aquí un token?

La decodificación ocurre solo en tu navegador y el token no se transmite. Aun así, evita pegar tokens de producción activos en pantallas o documentos compartidos.

¿Se ven bien los acentos y otros alfabetos del payload?

Sí. Un JWT es JSON en UTF-8 codificado en base64url, y esta herramienta lo decodifica como UTF-8, así que los nombres con tildes o ñ, en coreano, en chino o con emojis se muestran intactos.

¿Qué tipo de tiempo es el valor exp?

Un NumericDate, es decir, segundos desde el 1 de enero de 1970 UTC. La herramienta lo muestra en el idioma y la zona horaria de tu navegador, junto con la forma ISO 8601 en UTC.

¿Echas en falta alguna herramienta?