Qué hace
Decodifica un
JSON Web TokenJSON Web TokenA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
y muestra lo que contiene — localmente, en su navegador. Pegue un JWT y el header y el payload se abren como JSON formateado en paneles lado a lado, con chips dealg y typ encima. Bajo esos chips aparecen hasta tres avisos de seguridad: alg none — token sin firmar (rojo, para alg: none), simétrico — verifique en el servidor (información, para HS256/HS384/HS512) y sin claim exp (acento, cuando el payload no lleva caducidad). Los claims de tiempo (exp, iat, nbf) se muestran de forma humana — exp en 43 días, iat hace 2 horas — y el panel del payload lleva una insignia válido o expirado según exp.
Esta herramienta solo decodifica — nunca verifica una firma. Verificar una firma requiere el secreto o la clave pública, que vive en el servidor, así que cada claim que lea aquí es una afirmación del remitente, no un hecho verificado.
Cómo usarlo
- Elija un chip de ejemplo — HS256, Expired, alg: none — o pegue su propio token en la caja
JWTJWTA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
. Un token tiene tres partes separadas por puntos; menos de dos partes dibuja una caja de error. - Lea los paneles: Header (metadatos del algoritmo) a la izquierda, Payload (los claims) a la derecha. Copie cualquiera como JSON.
- Revise los chips de aviso: marcan tokens sin firmar, algoritmos simétricos y caducidad ausente de un vistazo.
- Compruebe la insignia junto al Payload:
validmientrasexpesté en el futuro,expiredcuando pase. - Copie un enlace para compartir que lleva el token en la URL, o lea la firma en crudo mostrada bajo los paneles.
Ejemplos
El chip HS256 rellena el token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFkYSBMb3ZlbGFjZSIsImlhdCI6MTcwMDAwMDAwMH0.sig (firma ficticia). Decodifica a:
| Parte | Decodificado |
|---|---|
| Header | { "alg": "HS256", "typ": "JWT" } |
| Payload | { "sub": "1234567890", "name": "Ada Lovelace", "iat": 1700000000 } |
Su payload no tiene exp, así que los avisos dicen simétrico — verifique en el servidor y sin claim exp.
El chip Expired lleva exp: 1700000000 (2023-11-14T22:13:20Z) más un iat un segundo antes — ambos en el pasado — así que la insignia del payload dice expired y el chip humanizado dice exp hace 1015 días (la cifra crece con el tiempo; la insignia no vuelve a cambiar).
El chip alg: none es eyJhbGciOiJub25lIn0.eyJzdWIiOiIxIn0. — header { "alg": "none" }, payload { "sub": "1" }, firma vacía tras el punto final. Decodifica como cualquier otro token y dibuja el aviso rojo alg none — token sin firmar más sin claim exp; la línea de firma muestra (none).
Un token de dos partes como eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIn0 (header y payload, sin tercer segmento) sigue decodificando — la firma ausente se muestra como (none). Una entrada con menos de dos partes separadas por puntos, como abc, dibuja la caja de error: A JWT has 3 dot-separated parts: header.payload.signature.
Conviene saber
- Un
JWTJWTA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
son tres partes base64url unidas por puntos:header.payload.signature. Base64url cambia+→-y/→_y elimina el relleno=para que un token pueda vivir en una URL o cabecera HTTP — por eso unJWTJWTA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
nunca contiene+,/ni=. - La firma se calcula sobre
base64url(header) + "." + base64url(payload)con el algoritmo del header —HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
con un secreto compartido (HS256) o una clave privada (RS256). Cambie un byte de cualquiera de las partes codificadas y ya no coincide. Cualquiera puede escribir el header y el payload que quiera; la firma es la única parte que nadie puede falsificar sin la clave. Por eso esta herramienta decodifica pero nunca verifica. - Los claims de tiempo son segundos Unix:
iat= emitido en,nbf= no válido antes de,exp= caduca. Un tercer segmento ausente se muestra como(none); los tokens de dos partes siguen decodificando. - Privado: la decodificación corre localmente en su navegador. Un
JWTJWTA compact, URL-safe token that carries claims (like identity or expiry) between two parties, signed to prevent tampering.Learn more
suele ser una credencial viva — esta herramienta nunca lo transmite. (El enlace compartido sí lleva el token; comparta solo tokens que controle.) - Herramientas relacionadas: Generador
HMACHMACA construction that combines a hash function with a secret key to prove a message is intact and came from someone holding the key.
, JSON Formatter, Codificar / DecodificarBase64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
.