👤 Pro — sin anunciosPro
// JWT → cabecera + payload

Decodificador de JWT

Pega un JSON Web Token para ver qué hay realmente dentro — la cabecera y el payload, decodificados y formateados para leerlos.

Gratis — uso ilimitado.

Entender los claims de dentro

Una vez decodificado un token, el payload es sobre todo un puñado de campos cortos y estandarizados llamados claims. Los que te vas a encontrar constantemente: iss nombra al emisor que creó el token, sub identifica al usuario o sujeto del que trata, aud nombra a la audiencia — la API a la que va destinado — mientras que iat registra cuándo se emitió y exp cuándo deja de ser válido. Cualquier otra cosa que haya ahí es personalizada: roles, direcciones de correo, feature flags, lo que sea que el sistema emisor decidiera meter. Los claims de tiempo confunden a la gente porque son simples marcas de tiempo Unix, segundos desde 1970 — un número como 1784528768 en lugar de una fecha legible — así que toda la vida útil del token se esconde en dos enteros discretos.

Depurar un token rechazado

Cuando una API responde 401 y estás seguro de que el token es correcto, recorre una lista corta. Primero, si lo copiaste de una cabecera Authorization, quita la palabra Bearer y el espacio delante — con eso pegado no es un JWT válido y ni siquiera se decodificará. A continuación, lee exp y comprueba que realmente está en el futuro: pega el número en el conversor de marca de tiempo Unix y verás la caducidad como una fecha real, lo cual a menudo revela un token que murió hace horas. Después compara aud e iss con la API que estás llamando — un token acuñado para el entorno de staging se rechaza de forma rutinaria, y correcta, en producción. Y recuerda que un minuto de desfase de reloj entre servidores basta para que un token recién emitido parezca todavía no válido.

Tokens que esta herramienta no puede abrir

No todo lo que protege una API es un JWT legible. Un token con cinco partes separadas por puntos en lugar de tres es un JWE — genuinamente cifrado, no solo codificado — y no sale nada legible sin la clave, ni aquí ni en ningún otro sitio. Y muchos tokens de sesión son simplemente cadenas aleatorias opacas que nunca fueron JWT para empezar; si no empieza con algo como eyJ, probablemente no hay nada que decodificar. Para los tokens que sí se abren, ayuda recordar qué estás mirando: tres bloques de texto Base64URL pegados con puntos. La herramienta de Base64 decodifica cualquier bloque individual por sí solo, lo cual es una buena forma de ver con tus propios ojos que las partes legibles de un JWT nunca fueron secretas desde el principio.

Qué te dice decodificar un JWT, y qué no

La cabecera y el payload de un JWT son simplemente JSON codificado en Base64URL — cualquiera puede decodificarlos y leerlos, sin necesidad de ningún secreto, que es exactamente lo que hace esta herramienta. Lo que no puede hacer es verificar la firma: eso necesita la clave secreta o pública del emisor, que deliberadamente no es algo que debas pegar en una web cualquiera.

¿Esto verifica que el token sea válido o no haya caducado?

No — solo decodifica las partes legibles. Verificar la firma y comprobar la caducidad («exp») ocurre en el servidor que emitió el token, usando un secreto que esta herramienta nunca ve.

¿Se supone que un JWT debe ser legible así?

Sí — la cabecera y el payload solo están codificados, no cifrados. Nunca pongas secretos o datos sensibles directamente en el payload de un JWT; para eso está la firma (demostrar que no se ha manipulado), no para ocultar su contenido.

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

No — la decodificación se ejecuta íntegramente en tu navegador con JavaScript puro. No se sube nada.

Convertburda — conversiones universales