Decodificador JWT

Pega un token JWT y lee su encabezado, su cuerpo y su firma al instante, con cada claim explicado y las fechas de vencimiento en tu hora. También puedes crear y firmar uno. Nada sale de tu navegador.

Se procesa en tu dispositivo. No se sube nada.

El token y la clave no salen de tu navegador: no se envían, no se guardan y no quedan en la dirección de la página.

Pega un token y verás su encabezado, su cuerpo y su firma al instante, con cada claim explicado.

¿Es seguro pegar un token aquí?

Esta página decodifica el token con JavaScript en tu navegador: no hay ningún servidor que lo reciba. Puedes comprobarlo abriendo la pestaña Red de las herramientas de desarrollo mientras pegas el token.

Aun así, no pegues tokens de producción que sigan vigentes en sitios que no puedas auditar. Un token robado se usa como una contraseña hasta que vence. Si dudas, usa un token de prueba o uno ya vencido.

Paso a paso

Cómo se usa

  1. Pega el token en el campo. Aceptamos «Bearer eyJ…», un encabezado Authorization o un JSON que lo contenga: buscamos el JWT solo.
  2. Mira el encabezado y el cuerpo ya decodificados, con el JSON ordenado y una tabla que explica cada claim en español.
  3. Revisa el estado: te decimos si el token está vigente, vencido o todavía no es válido, con la fecha en tu hora local y en UTC.
  4. Para comprobar la firma, escribe la clave secreta (HS256) o pega la clave pública en PEM, JWK o certificado (RS256, ES256, PS256, EdDSA).
  5. Para crear un token, cambia a «Crear token»: escribe el encabezado y el cuerpo, elige el algoritmo, pon la clave y copia el resultado o pulsa «Decodificar este token».
FAQ

Preguntas frecuentes

¿Es seguro pegar mi token aquí?

El token se decodifica en tu navegador con JavaScript y no se envía a ningún servidor: puedes comprobarlo en la pestaña Red de las herramientas de desarrollo. Tampoco lo guardamos ni lo ponemos en la dirección de la página. Aun así, con tokens de producción que siguen vigentes conviene ser prudente: un token robado sirve como una contraseña hasta que vence.

¿Qué significa que la firma sea válida?

Significa que el token no fue modificado desde que se firmó y que la clave que escribiste es la que lo firmó. No prueba que el emisor sea de confianza, que el token siga vigente (revisa «exp») ni que esté pensado para tu servicio (revisa «aud»). Tu servidor debe comprobar todo eso.

¿Por qué puedo leer el contenido de un JWT sin ninguna clave?

Porque el encabezado y el cuerpo solo están codificados en Base64URL, no cifrados. La firma sirve para detectar cambios, no para ocultar datos. Por eso no debes guardar contraseñas ni datos sensibles dentro de un JWT. Los tokens cifrados (JWE) tienen cinco partes y sí necesitan una clave para leerse.

¿Qué es «alg: none» y por qué avisan de él?

Es un token declarado sin firma. Cualquiera puede escribir uno con el contenido que quiera, así que un servidor nunca debe aceptarlo como prueba de identidad. Algunas librerías antiguas lo aceptaban por error, y es un ataque clásico. Si ves «none» en un token real, desconfía.

¿Qué claves puedo usar para verificar la firma?

Para HS256, HS384 y HS512, la clave secreta como texto (o en Base64 si activas la opción). Para RS, PS, ES y EdDSA, la clave pública en PEM («BEGIN PUBLIC KEY»), un certificado X.509, un JWK o un conjunto JWKS (elegimos la clave con el «kid»). Para crear un token hace falta la clave privada en PEM sin contraseña o un JWK con «d»; también puedes generar un par de prueba.

¿Por qué mi token aparece como vencido si acaba de emitirse?

El campo «exp» es un número de segundos desde 1970. Si el emisor lo escribió en milisegundos o el reloj de tu dispositivo está desajustado, el estado sale mal. Te avisamos cuando un valor parece estar en milisegundos o cuando «iat» queda en el futuro.

Qué es un JWT

Un JSON Web Token son tres partes separadas por puntos: encabezado.cuerpo.firma. Las dos primeras son JSON codificado en Base64URL; la tercera es la firma que impide modificarlas sin que se note. Se usan para iniciar sesión y para autorizar llamadas a una API.

Los claims más comunes

  • iss: quién emitió el token.
  • sub: a quién se refiere, normalmente un identificador de usuario.
  • aud: para qué servicio es.
  • exp: cuándo vence, en segundos desde 1970.
  • nbf: desde cuándo es válido.
  • iat: cuándo se emitió.
  • jti: un identificador único del token.

Decodificar no es verificar

Cualquiera puede leer un JWT. Lo que importa es que tu servidor compruebe la firma con su propia clave, elija él el algoritmo esperado (nunca el que diga el token) y revise exp, nbf, iss y aud antes de confiar en el contenido.

Algoritmos de firma

HS256 usa una clave secreta compartida. RS256 y PS256 usan un par de claves RSA, y ES256 una curva elíptica: se firma con la privada y se verifica con la pública, que puede publicarse sin riesgo.

Actualizada el 29 de septiembre de 2026