Decodificador JWT — leer header y payload en el navegador (sin verificar)
Pega un JWT para leer header y payload en JSON en tu navegador, sin verificar la firma. Pasos: pegar el token, decodificar, copiar header o payload. Ejemplo: el token de muestra muestra alg HS256 e iat 1516239022 con hora UTC y local. El token no se sube.
Cómo funciona
Pega un JWT completo (header.payload.signature). La página separa por puntos, decodifica Base64url en los dos primeros tramos y formatea JSON. exp, iat y nbf numéricos muestran UTC y hora local. La firma solo se muestra en texto, sin verificar.
Reglas que debes conocer
Qué hace y qué no hace este decodificador: estructura, Base64url, claims registrados y el límite sin verificación.
- Estructura: un JWT firmado (JWS compacto) tiene tres segmentos Base64url — header (alg, typ), payload (claims), firma (bytes, no JSON).
- Base64url: -→+, _→/, rellena padding hasta longitud %4, luego atob y JSON.parse. Errores indican header o payload.
- Claims registrados: exp, iat y nbf son segundos Unix UTC. Leer JSON no prueba que el token sea fiable.
- Privacidad: el pegado es local; sin HMAC/RSA. No autorices acceso en producción solo con JSON decodificado.
Ejemplo
Entrada: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9eIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c → Header: {"alg":"HS256","typ":"JWT"}. Payload: {"sub":"1234567890","name":"John Doe","iat":1516239022} con iat en UTC y hora local. La firma se muestra en bruto, sin verificar.
Cuándo encaja
- Depurar OAuth: revisa sub, scope y exp de un access token antes de configurar la API.
- Contratos API: confirma iss y aud de un ID token con tu documentación.
- Aprender: ver cómo header, payload y firma encajan en tres segmentos JWS.
Frequently asked questions
¿Verifica la firma del JWT?
No. Decodificar solo invierte Base64url en header y payload; verificar la firma exige la clave del emisor y aquí no lo hacemos.
¿Por qué falla con error de segmentos?
Comprueba que pegaste el token completo con dos puntos y tres segmentos. Puntos de más, texto truncado o cadenas que no son JWT fallarán.
¿En qué se diferencia Base64url del Base64 normal?
JWT usa Base64url: - en lugar de +, _ en lugar de /, y a menudo sin = final. Un decodificador Base64 clásico puede fallar con tokens URL-safe.
¿Cómo leo exp, iat o nbf?
exp, iat y nbf son segundos Unix en UTC. Esta página los muestra en UTC y en tu zona local; compara exp con la hora actual para caducidad.
¿Se sube mi token a un servidor?
No. El split, la decodificación Base64url y el JSON se ejecutan solo en tu pestaña.
Consultas o comentarios
¿Algo poco claro, roto o que falte? Redacta un mensaje abajo — leemos cada nota sobre estas herramientas.