Cómo decodificar un token JWT (Header, Payload, Signature)
Resumen rapido
Aprende a decodificar un JWT: sus tres partes (header.payload.signature), qué significan iat/nbf/exp y la diferencia entre decodificar y verificar.
Un JWT (JSON Web Token) es una cadena compacta con tres partes separadas por puntos: header.payload.signature. Cada parte (excepto la signature) se codifica en Base64URL y se puede decodificar para inspeccionar los claims. Decodificar un JWT NO verifica su firma: cualquiera puede crear un token con cualquier claim.
El Decodificador de JWT de NeatForge decodifica el header y el payload al instante y marca el estado de los claims iat, nbf y exp, todo en tu navegador.
¿Qué es un JWT?
Un JWT es un estándar abierto (RFC 7519) para transmitir claims entre partes en forma de objeto JSON. Se usa habitualmente para autenticación y autorización en APIs REST y aplicaciones web.
Un token se ve así: xxxxx.yyyyy.zzzzz
- Header: algoritmo y tipo de token.
- Payload: los claims (datos del usuario, roles, expiración).
- Signature: la firma que garantiza la integridad.
¿Qué significan iat, nbf y exp?
Son claims de tiempo estándar, almacenados como marcas de tiempo Unix en segundos:
iat(issued at): cuándo se creó el token.nbf(not before): fecha más temprana en la que es válido.exp(expiration): cuándo deja de ser válido.
Si exp ya pasó, el token está expirado. Si nbf aún no ha llegado, el token aún no es válido.
¿Qué es la codificación Base64URL?
Base64URL es una variante de Base64 pensada para URLs y JSON:
- usa
-en lugar de+ - usa
_en lugar de/ - omite el relleno
=
Esto evita caracteres que romperían una URL. Para más detalles, consulta nuestra guía sobre cómo codificar y decodificar Base64.
Decodificar vs verificar: la distinción clave
- Decodificar: leer el header y el payload sin comprobar la firma. Cualquiera puede hacerlo.
- Verificar: comprobar la signature con el secreto o la clave pública del emisor.
Nunca confíes en los claims de un JWT sin verificar la firma. Un token sin verificar es solo una afirmación, no una prueba.
¿Cómo decodificar un JWT de forma segura?
- Abre el Decodificador de JWT.
- Pega el token en la caja de entrada.
- Revisa el header y el payload como JSON formateado.
- Comprueba el estado de
iat,nbfyexp.
No pegues tokens de producción en sitios no confiables; usa herramientas locales para datos sensibles.
Nota de privacidad
La decodificación ocurre completamente en tu navegador. El token nunca se envía a un servidor ni se almacena. Aun así, evita compartir JWTs en capturas de pantalla o tickets de soporte.
Preguntas frecuentes
¿Esta herramienta verifica la firma del JWT? No. Solo decodifica. La verificación requiere el secreto de firma o la clave pública, que el cliente no tiene.
¿Es seguro pegar mi JWT aquí? Sí, porque todo es local. Pero evita pegar tokens muy sensibles en sitios de terceros; para esos casos usa una herramienta offline.
¿Por qué mi token tiene tres partes?
Porque un JWT sigue el formato header.payload.signature. Las dos primeras son JSON codificado en Base64URL; la tercera es la firma criptográfica.