Cómo usar: Decodificador JWT
- Pega un JWT (con o sin el
Bearerprefijo) en el cuadro «Token codificado» o haz clic en «Cargar ejemplo». - Lee el encabezado y la carga útil descodificados; las etiquetas indican el algoritmo y si el token ha caducado.
- Echa un vistazo a la tabla «Claims» para ver los datos en formato legible
exp,iatynbfen tu zona horaria local. - Si quieres, puedes verificar la firma: introduce el secreto compartido para HS256/384/512 o pega la clave pública (PEM o JWK) para los tokens RS, PS, ES y EdDSA.
¿Qué es un JWT?
Un JSON Web Token (JWT, que se pronuncia «jot», definido en el RFC 7519) es una cadena compacta y segura para URL que se usa para transmitir reclamaciones entre partes —sobre todo como token de acceso o token de identificación en OAuth 2.0 y OpenID Connect—, y que se envía en un Authorization: Bearer … encabezado. Se compone de tres partes codificadas en Base64URL y separadas por puntos:
- Encabezado: JSON que describe el token, p. ej.,
{"alg":"HS256","typ":"JWT"}. - Carga útil: JSON con las afirmaciones: quién es el usuario, qué puede hacer y cuándo caduca el token.
- Firma: calculada a partir de
header.payloaduna clave secreta o privada, por lo que cualquier cambio en las dos primeras partes lo invalida.
Importante: el encabezado y la carga útil solo están codificados, no cifrados. Cualquiera que tenga el token puede leerlos, que es justo lo que hace este decodificador. Nunca pongas secretos ni datos personales sensibles en la carga útil de un JWT. (Existen tokens cifrados —JWE, con cinco partes—, pero su carga útil solo se puede leer con la clave de descifrado.)
Reclamaciones registradas
| Reclamación | Nombre | Significado |
|---|---|---|
iss | Emisor | Quién emitió el token (p. ej., la URL de tu servidor de autenticación) |
sub | Sujeto | El usuario o la entidad a la que representa el token |
aud | Destinatarios | Las API que deben aceptar el token |
exp | Caducidad | Tiempo Unix tras el cual hay que rechazar el token |
nbf | No antes de | Tiempo Unix antes del cual el token no es válido |
iat | Emitido el | Tiempo Unix en el que se creó el token |
jti | ID de JWT | ID único, útil para evitar la repetición |
Las reclamaciones de tiempo se expresan en segundos desde el 1 de enero de 1970 UTC —no en milisegundos, un error habitual al generar tokens en JavaScript con Date.now(). El decodificador las convierte en fechas legibles; para otras marcas de tiempo, usa el conversor de marcas de tiempo de Unix.
Algoritmos de firma
HS256/384/512 usan HMAC con un secreto compartido: la misma clave firma y verifica, así que cualquier verificador también puede acuñar tokens. RS256 (RSA), PS256 (RSA-PSS), ES256 (ECDSA P-256) y EdDSA usan una clave privada para firmar y una clave pública para verificar; es la mejor opción cuando varios servicios deben validar los tokens. Los proveedores de identidad publican sus claves públicas como un archivo JWKS en una URL como /.well-known/jwks.json; puedes pegar ese JSON aquí y se seleccionará la clave que coincida con la del token kid queda seleccionada. La verificación utiliza la API Web Crypto del navegador.
Lista de comprobación de seguridad
- Verifica siempre la firma en el servidor: la simple decodificación no prueba nada.
- Rechaza
alg: noney fija los algoritmos que esperas, para evitar ataques de confusión de algoritmos. - Comprueba
exp,nbf,issyaud, permitiendo solo un pequeño desfase de reloj. - Para HS256, usa una clave secreta aleatoria de al menos 256 bits; el generador de contraseñas puede crear una.
También se busca como: depurador de jwt, decodificar jwt, token web json, analizador de jwt, verificar jwt, caducidad del jwt, decodificador de tokens portadores, jwt io.
Herramientas que combinan con: Decodificador JWT
- PKCE Generator — Test or debug an OAuth 2.0 / OpenID Connect login with PKCE.
- Codificación y descodificación Base64 — Convierte texto a Base64 y viceversa con compatibilidad total con UTF-8 (acentos, emojis), cambia a Base64 compatible con URL o arrastra un archivo para obtener su cadena Base64 o su URI de datos.
- Hash Generator — Compute MD5 and SHA hashes of any text or file instantly, create HMAC signatures, and paste an expected checksum to verify a download.
- Formateador JSON — Pega el código JSON para formatearlo, minimizarlo o validarlo.
Preguntas frecuentes
¿Es seguro pegar mi JWT aquí?
¿Se puede descodificar un JWT sin el secreto?
¿Cómo puedo comprobar si un JWT ha caducado?
exp información: una marca de tiempo de Unix en segundos. Esta herramienta la compara con el reloj de tu dispositivo y muestra una insignia que dice «Caducado» o «No caducado», además de la hora exacta en tu zona horaria.