Ejemplos
Cabecera
Carga (payload)
Reclamaciones (claims)
| Claim | Valor | Significado |
|---|
| Claim | Valor | Significado |
|---|
Pega tu JWT (en formato header.payload.signature) en la casilla de entrada. El token se decodifica al instante y por completo en tu navegador.
Lee la cabecera y el payload con formato JSON, la insignia del algoritmo y el estado de caducidad (válido, caducado o aún no válido) calculado a partir de los claims exp y nbf.
Revisa la tabla de claims, que explica cada claim estándar — iss, sub, aud, exp, iat, nbf, jti — en lenguaje claro y con marcas de tiempo legibles.
Opcionalmente despliega el panel de verificación y pega un secreto HMAC o una clave pública PEM para verificar la firma localmente con la Web Crypto API. La clave nunca se transmite.
Pega un token y ve su cabecera y payload decodificados como JSON resaltado de inmediato. Sin botón que pulsar y sin ida y vuelta a un servidor — la decodificación ocurre mientras escribes.
Cada claim se explica. Los claims registrados como exp, iat y nbf se convierten de marcas de tiempo Unix a fechas legibles, y los claims personalizados se etiquetan con claridad, para que entiendas exactamente qué afirma el token.
La herramienta compara los claims exp y nbf con la hora actual y muestra una insignia de estado clara — válido, caducado o aún no válido — para que detectes de un vistazo el error de autenticación más común.
Verifica HS256/384/512 con un secreto compartido, o algoritmos RS y ES con una clave pública PEM, usando la Web Crypto API integrada del navegador. Sin librerías externas y, lo más importante, sin transmitir tu secreto ni tu clave.
Los tokens a menudo contienen datos personales, identificadores de sesión o credenciales. Aquí todo se procesa en tu navegador — el token, el secreto y la clave nunca salen de tu dispositivo, a diferencia de herramientas populares que envían el token a su servidor.
La herramienta JWT online más conocida envía tu token a su servidor para "verificarlo". Un JWT suele llevar datos personales, scopes o una credencial de sesión activa, así que transmitirlo es un riesgo de seguridad real. Este decodificador se ejecuta por completo en el cliente — puedes mirar la pestaña de red y ver que no se envía nada. Sin cuenta, sin registro.
Más allá de mostrar el JSON, interpreta cada claim estándar, convierte marcas de tiempo a fechas y señala problemas de caducidad y de not-before — justo los fallos que rompen los inicios de sesión. Convierte una cadena opaca en una respuesta a "¿por qué se rechaza este token?".
La comprobación de firma usa la Web Crypto API presente en todos los navegadores modernos, con soporte de HMAC, RSA y ECDSA. Obtienes verificación genuina, no una marca decorativa, mientras tu secreto o clave pública permanece en tu máquina.
La herramienta deja claro que decodificar no es verificar, que un payload decodificado no es fiable hasta que la firma se comprueba, y que los secretos nunca se guardan en la URL ni en el almacenamiento local. Enseña el modelo mental correcto en lugar de ocultar los detalles.
Un JSON Web Token (JWT) es una forma compacta y segura para URL de representar afirmaciones (claims) entre dos partes. Se usa sobre todo para autenticación y autorización: tras iniciar sesión, un servidor emite un token firmado, y tu cliente lo reenvía en cada petición para demostrar quién eres. Un JWT no está cifrado por defecto — está firmado. Cualquiera que tenga el token puede leer su contenido; la firma solo garantiza que el contenido no se ha alterado y que lo emitió alguien que posee la clave de firma.
Esa distinción es lo más importante que hay que entender sobre los JWT, y es la razón por la que un decodificador como este puede leer cualquier token sin un secreto, mientras que verificar su autenticidad requiere la clave.
Un JWT son tres segmentos codificados en base64url unidos por puntos: header.payload.signature.
alg, p. ej. HS256 o RS256) y el tipo (typ, normalmente "JWT"). Puede incluir un id de clave (kid) que indica qué clave lo firmó.La especificación JWT define un conjunto de claims registrados con significados acordados:
iss (issuer) — quién creó y firmó el token.sub (subject) — el principal sobre el que trata el token, a menudo un id de usuario.aud (audience) — el destinatario previsto; un token para una API debería ser rechazado por otra.exp (expiration) — una marca de tiempo Unix tras la cual el token debe rechazarse.nbf (not before) — una marca de tiempo antes de la cual el token aún no es válido.iat (issued at) — cuándo se creó el token.jti (JWT id) — un identificador único, útil para listas de revocación.Esta herramienta convierte los claims de marca de tiempo en fechas legibles y muestra si el token está dentro de su ventana de validez — la fuente más frecuente de errores de autenticación del tipo "funciona en mi máquina pero falla en staging", que a menudo son solo problemas de reloj o de caducidad.
La firma se calcula sobre la cadena base64url(cabecera) + "." + base64url(payload). Con un algoritmo simétrico como HS256, el mismo secreto firma y verifica, usando un HMAC con SHA-256. Con un algoritmo asimétrico como RS256 o ES256, una clave privada firma y la clave pública correspondiente verifica — por eso los servicios pueden publicar su clave pública (a menudo vía un endpoint JWKS) para que cualquiera valide tokens sin poder falsificarlos. Para verificar en esta herramienta, proporcionas el secreto HMAC o la clave pública PEM, y la Web Crypto API del navegador recalcula y compara la firma localmente.
exp corto, o un servidor que no lo comprueba, es una credencial de larga vida esperando a ser robada.Merece su propia sección, porque es el malentendido más común sobre los JWT: todo lo que esta página te muestra sobre la cabecera y el payload de un token proviene de decodificarlo, no de verificarlo. Decodificar es simplemente revertir la codificación base64url para revelar el JSON — cualquiera puede hacerlo con cualquier token, sin ninguna clave, que es justo por lo que esta herramienta puede mostrar el contenido de un token en el instante en que lo pegas. Esa legibilidad no es un aval de la autenticidad del token. Fiarse de un claim como sub o role sin comprobar la firma contra una clave que tú controlas es exactamente cómo se cuelan los tokens falsificados — el payload de un token no verificado no es, desde el punto de vista de la seguridad, más fiable que una afirmación escrita a mano en un archivo de texto. Nuestro artículo complementario sobre por qué decodificar un JWT no lo verifica recorre ejemplos concretos de lo que puede salir mal cuando una aplicación se salta este paso.
| Claim | Nombre Completo | Qué Significa |
|---|---|---|
| iss | Issuer (emisor) | Identifica quién creó y firmó el token, para que un verificador compruebe que viene de una autoridad esperada. |
| sub | Subject (sujeto) | El principal sobre el que trata el token — normalmente un id de usuario o de cuenta de servicio. |
| aud | Audience (audiencia) | El destinatario previsto del token; un servicio debería rechazar un token cuya audiencia nombre otra API distinta. |
| exp | Expiration Time (caducidad) | Una marca de tiempo Unix tras la cual el token debe rechazarse sin más, por muy válida que sea la firma. |
| nbf | Not Before (no antes de) | Una marca de tiempo antes de la cual el token todavía no debe aceptarse, útil para tokens emitidos por adelantado. |
| iat | Issued At (emitido en) | Cuándo se creó el token, útil para auditoría y para calcular su antigüedad. |
| jti | JWT ID | Un identificador único del token, útil para rastrear o revocar un token concreto. |
Los siete están definidos en la especificación JWT, RFC 7519; ninguno es obligatorio, pero un sistema de autenticación bien diseñado suele fijar al menos iss, sub, exp e iat.
Un ticket de soporte habitual dice: "recibo un 401 Unauthorized y no sé por qué — el token parece correcto". Así es como este decodificador responde a eso en segundos usando el ejemplo HS256 incluido. Pega el token de ejemplo y la cabecera muestra el algoritmo HS256 con tipo JWT, nada inusual. El payload muestra sub: "user_42", un nombre, un rol "admin", un iat con una marca de tiempo Unix que corresponde a un momento concreto, y un exp exactamente una hora después. La insignia de estado dice "Caducado", y las marcas de tiempo legibles hacen obvio el motivo de un vistazo: este token solo fue válido durante una única hora tras emitirse, y esa hora quedó atrás hace mucho. Ese es el 401 completo: el middleware del servidor comprobó exp contra la hora actual, la encontró en el pasado y rechazó correctamente la petición antes incluso de mirar la firma. La solución no es un cambio de código en el cliente — es pedir un token nuevo (o usar el token de refresco, si la aplicación tiene uno) en vez de seguir enviando un token de acceso cuya vida ya ha terminado.
No. Todo el proceso — decodificar la cabecera y el payload, interpretar claims, comprobar la caducidad y verificar la firma — ocurre en tu navegador. Tu token, cualquier secreto y cualquier clave nunca salen de tu dispositivo. Puedes confirmarlo mirando la pestaña de red de tu navegador mientras usas la herramienta; no se hace ninguna petición.
Sí. Un JWT está firmado, no cifrado, así que la cabecera y el payload son legibles por cualquiera que tenga el token. El decodificador los muestra de inmediato sin ninguna clave. Solo necesitas un secreto o clave pública para el paso opcional de verificar que la firma es auténtica.
La herramienta lee los claims exp (expiración) y nbf (not before) y los compara con la hora actual. 'Válido' significa que el token está dentro de su ventana permitida, 'Caducado' que la hora actual ha pasado de exp, y 'Aún no válido' que nbf está en el futuro. Los tokens sin claim exp muestran 'Sin claim de caducidad'.
La verificación de firma admite HMAC (HS256, HS384, HS512) con un secreto compartido, RSA (RS256, RS384, RS512) con una clave pública PEM, y ECDSA (ES256, ES384, ES512) con una clave pública PEM. La verificación usa la Web Crypto API integrada del navegador, así que no se carga ninguna librería externa.
Decodificar simplemente decodifica los segmentos en base64url para revelar el JSON; te dice qué afirma el token pero no si esas afirmaciones son fiables. Verificar recalcula la firma criptográfica con una clave que tú aportas y confirma que el token lo emitió quien posee esa clave y que no se ha alterado. Verifica siempre antes de fiarte de un token.
Como todo es del lado del cliente y nada se transmite, pegar un token aquí no lo expone por la red. Como buena práctica, evita pegar credenciales de producción activas en cualquier página web, y prefiere tokens de prueba de vida corta. Esta herramienta está diseñada precisamente para que no tengas que enviar tokens a un servidor remoto para inspeccionarlos.
No. El secreto o la clave que introduces para la verificación se usa solo en memoria para la llamada de verificación y nunca se escribe en la URL, el almacenamiento local ni en ningún otro sitio. Recargar la página lo borra por completo.
Sí, completamente gratuito sin registro, sin límites y sin anuncios inyectados en los resultados. La decodificación, la interpretación de claims, la comprobación de caducidad y la verificación de firma local están todas disponibles sin coste, con cada operación ejecutándose de forma privada en tu navegador.
No. Mostrar los claims solo demuestra que puedes leer lo que el token afirma, no que esas afirmaciones sean genuinas. Cualquiera puede decodificar un token sin ninguna clave. Solo verificar la firma contra una clave de confianza te dice que el token fue emitido realmente por su emisor declarado y que no ha sido alterado.
La mayoría de los sistemas en producción fijan al menos iss (quién lo emitió), sub (sobre quién trata), exp (cuándo caduca) e iat (cuándo se creó), a menudo junto con aud para limitar el token a una API. Un token sin ningún exp merece investigarse, porque se comporta como una credencial de larga vida y difícil de revocar.
El Base64 estándar usa +, / y = que rompen URLs, JWT y nombres de archivo. Aprende la diferencia entre Base64 url-safe y estándar y cómo evitar errores.
Leer más →
Corrige errores de token JWT caducado por el claim exp — desfase de reloj, milisegundos vs segundos, refresco roto y leeway — desde tu navegador.
Leer más →
Decodificar un JWT solo lee sus claims; verificar comprueba la firma. Aprende la diferencia, por qué causa fallos de auth y cómo probar ambas con seguridad.
Leer más →
Entiende los JSON Web Tokens: estructura, claims, firmado vs cifrado, caducidad y verificación de firma — y los errores de seguridad que causan fallos de auth.
Leer más →