Ir al contenido
OpsKit

Decodificador JWT

Pega un JWT para ver su cabecera y sus claims. Las fechas de caducidad y emisión se convierten a un formato legible y los claims registrados vienen explicados. El token permanece en tu navegador.

Todo ocurre en tu navegador. Esta página es un archivo estático. Lo que escribes se queda en la pestaña, nunca se envía a un servidor y desaparece al cerrarla, así que puedes pegar un token o una configuración real sin riesgo.

Cuándo la necesitas

  • Una petición devuelve 401 y necesitas saber si el token caducó o si la audiencia es incorrecta.
  • Comprobar qué scopes o roles lleva realmente un token de acceso antes de culpar a la API.
  • Confirmar el emisor y el identificador de clave mientras depuras una integración OIDC.

Ejemplos resueltos

Un token de acceso estándar

Entrada
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NSIsIm5hbWUiOiJKYW5lIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE3MDAwMDM2MDB9.signature
Resultado
sub: 12345 · exp: 2023-11-14 23:13 UTC

Cabecera, payload y firma, separados por puntos.

Leer la caducidad

Entrada
"exp": 1700003600
Resultado
2023-11-14 23:13 UTC

exp son segundos desde la época Unix, no milisegundos. Un valor en milisegundos cae en el año 55000 y es un error frecuente.

La cabecera peligrosa

Entrada
{"alg":"none"}
Resultado
Token sin firmar

Las bibliotecas que respetan alg: none aceptan tokens falsificados. Fija siempre el algoritmo esperado en el servidor.

Dónde suele fallar la gente

Tratar el payload como algo privado

Un JWT va firmado, no cifrado. Cualquiera que tenga el token puede leer todos los claims, exactamente como hace esta página. Nunca metas información confidencial.

Fiarse del distintivo de validez de un decodificador

Decodificar no demuestra nada sobre la autenticidad. Un token puede ser perfectamente legible y estar completamente falsificado; solo la verificación de la firma en tu servidor lo resuelve.

Confundir exp con un problema de desfase de reloj

Si un token caduca "al instante", compara el claim iat con el reloj de tu servidor. Unos minutos de desfase entre máquinas rechazan tokens por lo demás válidos.

Preguntas frecuentes

¿Se envía mi token a algún sitio?

No. La página es estática y la decodificación ocurre en tu navegador con un análisis de Base64 y JSON. Nada se registra ni se transmite, y puedes confirmarlo en el panel de red.

¿Por qué esta herramienta no puede decirme si la firma es válida?

La verificación necesita el secreto de firma o la clave pública del emisor. Pegar un secreto de firma de producción en una página web sería una costumbre mucho peor que cualquier comodidad que aporte.

¿Cuál es la diferencia entre exp y nbf?

exp es cuándo deja de aceptarse el token; nbf es cuándo empieza. Un token emitido por adelantado puede tener un nbf futuro y será rechazado hasta entonces.

Herramientas relacionadas