Este decodificador de JWT muestra el header y el payload de un token en formato legible, junto con sus fechas de emisión (iat), inicio de validez (nbf) y caducidad (exp) ya convertidas a una fecha normal. Es la herramienta habitual para depurar problemas de autenticación: ver qué claims lleva un token o por qué una API lo está rechazando por caducado.
El token se procesa por completo en tu navegador: nunca se envía a un servidor. Aun así, un JWT casi siempre identifica a una persona o a una sesión real, así que trátalo con el mismo cuidado que una contraseña.
Cómo usar
- 1Pega tu token JWT completo (header.payload.signature).
- 2Revisa el header y el payload ya convertidos en JSON legible.
- 3Comprueba las fechas iat, nbf y exp en un formato legible.
- 4Si el token está caducado o aún no es válido, verás un aviso claro junto a las fechas.
Qué puedes hacer
- Header y payload formateados
- Fechas exp, iat y nbf legibles
- Aviso de token caducado
Qué es un JWT y de qué partes se compone
Un JSON Web Token (JWT) son tres bloques separados por puntos: header.payload.signature. El header indica el algoritmo de firma; el payload lleva los datos (claims) del token, como el usuario o la fecha de caducidad; la firma permite comprobar que nadie modificó el contenido, siempre que se tenga la clave del emisor.
Header y payload están codificados en Base64URL, no cifrados: cualquiera puede decodificarlos y leer su contenido, con o sin esta herramienta. Por eso nunca se debe guardar información sensible (contraseñas, datos personales delicados) directamente en el payload de un JWT.
Cómo interpretar exp, iat y nbf
Estos tres claims son fechas expresadas en segundos desde el 1 de enero de 1970 (época Unix). iat (issued at) es el momento en que se generó el token; nbf (not before) es el momento a partir del cual empieza a ser válido; exp (expiration) es el momento en que deja de serlo.
- iat: cuándo se creó el token.
- nbf: no lo aceptes antes de esta fecha (poco frecuente, pero existe).
- exp: a partir de esta fecha, el token debe ser rechazado.
Decodificar no es lo mismo que verificar
Esta herramienta lee el contenido del token, pero no comprueba su firma: eso exigiría la clave secreta o pública del servidor que lo emitió, algo que nunca deberías introducir en una web pública. Un token puede decodificarse perfectamente y aun así ser falso o estar manipulado si su firma no es válida.
Para depurar un problema de autenticación, esta herramienta te dice qué dice el token; para confirmar que es auténtico, esa comprobación debe hacerla siempre el backend que lo emitió, con su clave privada.
Preguntas frecuentes
¿Qué es un JWT y es seguro decodificarlo online?
Un JWT es un token que lleva datos en su payload, codificados en Base64URL pero no cifrados: decodificarlo no revela nada que un atacante no pudiera leer ya con cualquier decodificador Base64URL. Es seguro siempre que la herramienta procese el token en tu navegador (como esta) y no lo envíe a un servidor externo.
¿Esta herramienta comprueba si la firma del token es válida?
No. Solo decodifica el header y el payload para que puedas leerlos. Verificar la firma exige la clave secreta o pública del emisor, que por seguridad nunca deberías pegar en una herramienta online.
¿Qué significan los campos exp, iat y nbf?
Son fechas en segundos desde 1970: iat es cuándo se creó el token, nbf desde cuándo es válido y exp hasta cuándo lo es. Esta herramienta los convierte automáticamente a una fecha legible y avisa si el token ya caducó o todavía no es válido.
¿Por qué mi JWT no se decodifica?
Lo más habitual es que falte alguna de las tres partes (header, payload o firma) separadas por puntos, o que se haya cortado el texto al copiarlo. Revisa que el token empiece y termine completo, sin espacios añadidos.
¿Debo pegar tokens de producción en herramientas online?
Como norma general, evítalo. Aunque esta herramienta no envíe el token a ningún servidor, un JWT real identifica a un usuario o a una sesión, así que conviene tratarlo como una credencial y usar tokens de prueba siempre que sea posible.
¿El token se guarda o se envía a algún servidor?
No se envía a ningún servidor: se decodifica en tu navegador. Si decides guardarlo en tu historial, quedará almacenado en tu cuenta hasta que lo borres; ten esto en cuenta si el token es sensible.