Decodificador JWT
Pega un JSON Web Token y decodifica al instante su cabecera y carga útil — todo en tu navegador, nada se sube
JSON Web Token
Acerca de esta herramienta
El decodificador JWT lee un JSON Web Token y muestra lo que contiene. Un JWT tiene tres partes separadas por puntos —cabecera, carga útil y firma— y las dos primeras son simplemente JSON codificado en Base64URL. Esta herramienta las decodifica en JSON legible y formateado para que puedas inspeccionar el algoritmo, el tipo de token y cada claim. Los claims de tiempo estándar como exp (expiración), iat (emitido en) y nbf (no antes de) se convierten de segundos UNIX en bruto a fechas legibles, y un token caducado se resalta para ti. Lo fundamental: la herramienta nunca verifica la firma ni pide una clave secreta o pública; decodificar solo necesita el propio token. Por eso todo ocurre localmente en tu navegador y nada se sube, lo que hace seguro inspeccionar tokens sin filtrarlos a un servidor.
Cómo usarla
- 1 Pega tu JSON Web Token (header.payload.signature) en el cuadro de entrada, o pulsa Cargar ejemplo para probar uno.
- 2 La cabecera y la carga útil se decodifican al instante y se muestran como JSON formateado.
- 3 Revisa las insignias alg y typ, y lee exp / iat / nbf como fechas legibles; un token caducado se resalta en rojo.
- 4 Usa los botones de copiar para obtener la cabecera o la carga útil decodificada. Nada de lo que pegas sale de tu navegador.
Cómo funciona
Un JWT se escribe como tres cadenas Base64URL unidas por puntos: header.payload.signature. Base64URL es como el Base64 estándar pero usa - y _ en vez de + y /, y normalmente omite el relleno final =. El decodificador restaura esos caracteres, añade el relleno que falte, ejecuta atob para obtener los bytes en bruto y los reinterpreta como UTF-8 para que los claims no ASCII se muestren bien. Luego la cabecera y la carga útil se analizan como JSON y se formatean. Los claims numéricos exp, iat y nbf son marcas de tiempo UNIX en segundos, así que se multiplican por 1000 y se convierten en fechas; si exp está en el pasado, el token se marca como caducado. El segmento de firma se muestra intacto y nunca se valida, por eso no se necesita clave y todo el proceso permanece en tu dispositivo.
Preguntas frecuentes
¿Esta herramienta verifica la firma del JWT?
No. Solo decodifica la cabecera y la carga útil para que puedas leerlas. Verificar la firma requeriría la clave secreta o pública de firma, que esta herramienta nunca pide a propósito. Así todo permanece local y puedes inspeccionar con seguridad el contenido de un token sin exponer ninguna clave.
¿Se envía mi token a un servidor?
No. Toda la decodificación ocurre en tu navegador con JavaScript. Tu token nunca se sube, registra ni almacena, y la herramienta sigue funcionando sin conexión una vez cargada la página. Es seguro pegar aquí tokens sensibles.
¿Qué significan los campos exp, iat y nbf?
Son claims de tiempo estándar expresados como marcas de tiempo UNIX en segundos. exp es cuándo caduca el token, iat cuándo se emitió y nbf el primer momento en que es válido. Esta herramienta convierte cada uno en una fecha legible y marca el token como caducado cuando exp está en el pasado.
¿Puedo leer un JWT sin la clave secreta?
Sí. La cabecera y la carga útil de un JWT solo están codificadas en Base64URL, no cifradas, así que cualquiera puede leerlas sin ninguna clave. La clave secreta o pública solo se necesita para verificar la firma, que prueba que el token no fue manipulado, pero nunca para ver el contenido.
¿Por qué mi token muestra texto ilegible o un error?
Un JWT debe tener exactamente tres partes separadas por puntos, cada una un Base64URL válido, y las dos primeras deben decodificarse a JSON válido. Si falta una parte, está truncada o pegaste por error un JWE cifrado en vez de un JWS firmado, el decodificador informa de un error en lugar de adivinar.
Herramientas relacionadas y usos
Combina el decodificador JWT con la herramienta Base64 para inspeccionar segmentos a mano, el formateador JSON para reformatear una carga útil copiada y el conversor de marca de tiempo Unix para comprobar las horas exp/iat/nbf. Los desarrolladores la usan al depurar flujos de autenticación, tokens OAuth/OpenID Connect, pasarelas de API e inicio de sesión único, donde leer rápido los claims de un token es parte del trabajo diario.