Decodificador JWT
Decodifica un token JWT sin la clave: mira su cabecera y su carga útil, con exp e iat como fechas legibles.
Un JWT tiene tres partes en Base64URL separadas por puntos: cabecera, carga útil y firma. Las dos primeras son simplemente JSON codificado —legible por cualquiera—, así que decodificar un token no necesita ninguna clave: la clave (o la clave pública de quien firma) solo hace falta para verificar la firma, y esta herramienta deliberadamente no lo hace: es un inspector, no un validador.
⚠️ Solo decodifica: la firma NO se verifica. No pegues nunca secretos de producción en ningún sitio web.
Respuestas rápidas
¿Qué contiene el token de ejemplo de jwt.io?
Cabecera {"alg": "HS256", "typ": "JWT"} y carga útil {"sub": "1234567890", "name": "John Doe", "iat": 1516239022}.
Ese iat equivale al 18 de enero de 2018 a las 01:30:22 UTC; la herramienta lo muestra convertido a tu hora local en formato dd/mm/aaaa hh:mm:ss.
¿Por qué caducó mi sesión? ¿Cómo lo compruebo con el token?
Pega el token de acceso y lee su claim exp: si marca, por ejemplo, 1728000000 —el 4 de octubre de 2024 a las 00:00:00 UTC—, el token ya caducó y toca pedir uno nuevo con el token de refresco, no depurar tu código de acceso.
La herramienta indica además «ya caducado» cuando la fecha de exp queda en el pasado.
¿Puedo decodificar un JWT sin la clave secreta?
Sí: la cabecera y la carga útil solo están codificadas en Base64URL, no cifradas, y cualquiera que tenga el token puede leerlas sin clave alguna.
La clave solo sirve para verificar la firma: decodificar te dice qué afirma el token; verificar te dice si puedes creértelo. Nunca confíes en un token solo por haberlo decodificado.
Cómo se usa
- Pega el JWT completo (cabecera.carga.firma).
- La cabecera y la carga útil se decodifican en vivo mientras escribes.
- Si el token trae exp o iat, verás esas fechas en formato dd/mm/aaaa hh:mm:ss, en tu hora local.
Acerca de esta herramienta
La cabecera declara el algoritmo ({"alg":"HS256","typ":"JWT"}); la carga útil lleva las afirmaciones o claims, como sub (sujeto), iss (emisor), exp (caducidad) e iat (emisión), en segundos Unix. La firma es un HMAC-SHA256 sobre las dos primeras partes calculado con la clave secreta.
Decodificar solo revela lo que el token dice; no demuestra que sea de fiar. La carga va codificada, no cifrada: cualquiera que tenga el token puede leerla, así que nunca metas contraseñas ni secretos dentro de un JWT. La decodificación es local, en tu navegador.
Preguntas frecuentes
¿Es seguro pegar un token aquí?
La decodificación ocurre entera en tu navegador, pero por norma evita pegar secretos de producción en directo en cualquier sitio web.
¿La herramienta verifica la firma?
No: esto solo decodifica. La verificación necesita la clave secreta y pertenece a tu servidor.
¿Qué significan «exp» e «iat»?
La caducidad y el momento de emisión del token, en segundos Unix; aquí se muestran como fechas dd/mm/aaaa hh:mm:ss en tu hora local.
¿Se puede decodificar un JWT sin la clave secreta?
Sí. La cabecera y la carga útil están codificadas en Base64URL, no cifradas, así que quien tenga el token puede decodificarlas sin ninguna clave. La clave solo hace falta para verificar la firma.
¿Cómo decodifico un token JWT en línea?
Pega la cadena completa cabecera.carga.firma en el cuadro de arriba: la cabecera y la carga útil se decodifican en vivo y, si la carga trae exp, verás la fecha de caducidad justo debajo.
Más herramientas en español
Formateador JSON
Formatea, minifica y valida JSON con un clic, con mensajes de error claros en español.
Generador de hash
Genera hashes SHA-256, SHA-512, SHA-384, SHA-1 y MD5 al instante, también de archivos, sin subir nada.
JSON a CSV
Convierte un array JSON en CSV al instante, con el separador que tu Excel espera: punto y coma o coma.
Conversor de colores
Convierte colores entre HEX, RGB y HSL con vista previa en vivo y copia en un clic.
Comparar textos
Compara dos textos y ve exactamente qué cambió, línea por línea y palabra por palabra. Nada se sube a ningún servidor.
JWT Decoder
Decode a JWT token without the secret — see its header and payload.