Decodificador JWT
Decodifica e inspecciona tokens JWT
Se verifica en tu navegador con WebCrypto; la clave y el token no se envían a nuestros servidores. HS256/384/512, RS256/384/512, PS256/384/512, ES256/384/512 y EdDSA (Ed25519, en los navegadores que lo admiten).
Crear un token firmado
Se firma en tu navegador con WebCrypto; la clave no se envía a nuestros servidores. Firma con una clave de prueba: una clave privada de producción debe quedarse en su servidor.
Acerca de Decodificador JWT
El Decodificador JWT muestra el encabezado y la carga útil de un JSON Web Token firmado como JSON con sangría, conserva los números grandes tal como están escritos y convierte los claims exp, iat y nbf en fechas UTC con una nota de caducado o aún no válido. También verifica la firma en tu equipo con WebCrypto: un secreto compartido para HS256, HS384 y HS512, o, para los tokens RS, PS, ES y EdDSA (Ed25519), una clave pública en formato PEM o JWK, un JWK Set, un certificado X.509 o una clave privada, de la que solo se usa la parte pública. Firma tokens nuevos con un secreto o una clave privada. Se rechazan los tokens sin firmar (alg none) y una clave pública ofrecida para un token HS. De un token cifrado (JWE, cinco partes), solo se muestra el encabezado.
Ejemplo
Un token HS256 decodificado y luego verificado con el secreto my-secret (la nota de exp depende de la fecha de hoy; este token caducó el 1 de enero de 2026):
Token
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0MiIsIm5hbWUiOiJBZGEiLCJpYXQiOjE3NjcyMjU2MDAsImV4cCI6MTc2NzIyOTIwMH0.tSbItJNpja-KxR9Sew4UseTRkf2DxToP11X65NZgLJw
Decodificar y Verificar firma
ENCABEZADO
{
"alg": "HS256",
"typ": "JWT"
}
CARGA ÚTIL
{
"sub": "42",
"name": "Ada",
"iat": 1767225600,
"exp": 1767229200
}
exp: 1 de enero de 2026, 01:00:00 (UTC) — caducado
iat: 1 de enero de 2026, 00:00:00 (UTC)
Firma verificada (HS256): este token se firmó con esta clave y no se ha modificado. Revisa también exp / nbf en la carga útil decodificada.Cómo decodificar y verificar un JWT
- 1Pega el token, tres partes en base64url separadas por puntos, y haz clic en «Decodificar».
- 2Lee el encabezado, la carga útil y, debajo, las fechas exp, iat y nbf en UTC.
- 3Para comprobar la firma, pega el secreto o la clave pública en «Verificación de la firma»; para un token HS, pon «Formato del secreto» en texto o base64 / base64url.
- 4Haz clic en «Verificar firma» para obtener «Firma verificada» o «Firma no válida» con el motivo.
- 5Para crear un token, escribe su encabezado y su carga útil en «Crear un token firmado», pega el secreto o la clave privada y haz clic en «Firmar».
Formatos y límites
- Formato del token
- JWT firmado en forma compacta (tres partes); de un token cifrado (JWE, cinco partes) solo se muestra el encabezado; no se admiten cargas útiles sin codificar
- Algoritmos
- HS256/384/512, RS256/384/512, PS256/384/512, ES256/384/512 y EdDSA (Ed25519, en los navegadores cuyo WebCrypto lo admite)
- Claves aceptadas
- Un secreto en texto o en base64/base64url, una JWK oct, una clave pública PEM (también PKCS#1 RSA), un certificado X.509, una clave privada PEM (PKCS#8, PKCS#1 RSA o SEC1 EC), una JWK RSA, EC u OKP, o un JWK Set (la clave cuyo kid es el del encabezado)
- Claves rechazadas, con el motivo
- Una clave pública para un token HS y las claves privadas protegidas con frase de contraseña; para verificar, una clave privada se reduce a su parte pública
- Firma
- Los mismos algoritmos, con un secreto o una clave privada (PEM o JWK); el encabezado y la carga útil se conservan tal como están escritos
- Lo que no se comprueba por ti
- exp, nbf, iss y aud: las fechas se muestran, la decisión es de tu aplicación
Dónde se procesa tu token
La decodificación, la firma y la verificación de firmas se hacen en esta página con atob y WebCrypto de tu navegador; el token y la clave no se envían a nuestros servidores. Si activas una traducción en el menú de idiomas, Google recibe el texto que se muestra en la página, incluidos el encabezado y la carga útil decodificados, así que deja la traducción desactivada con tokens reales. Una decodificación fallida nos envía el mensaje Token JWT no válido, el nombre de la herramienta y el nombre y la versión de tu navegador.
Preguntas frecuentes
¿Esta herramienta verifica la firma del JWT?
Sí. Pega el secreto compartido para HS256, HS384 o HS512, o la clave pública del emisor en PEM o JWK para RS, PS, ES o EdDSA, y haz clic en «Verificar firma». El algoritmo se lee del encabezado del token, y alg none se rechaza.
¿Es seguro aceptar un token verificado?
No por sí solo. Una firma verificada demuestra que el token se firmó con esa clave y no ha cambiado desde entonces. Tu aplicación aún debe comprobar exp, nbf, el emisor (iss) y la audiencia (aud); esta página solo los muestra.
¿Por qué se rechaza mi clave pública para un token HS256?
Aceptarla permitiría el ataque de confusión de algoritmo, en el que una clave pública se usa como secreto HMAC. Un token HS debe verificarse con su secreto compartido, así que una clave PEM o una JWK que no sea oct se rechaza para HS256, HS384 y HS512.
¿Puedo pegar un JWK Set o un certificado?
Sí. De un JWK Set se usa la clave cuyo kid es el del encabezado del token; sin kid, el Set debe tener una sola clave para el algoritmo del token. De un certificado X.509 se usa su clave pública: no se comprueban las fechas ni la cadena del certificado.
¿Puedo crear un JWT aquí?
Sí. En «Crear un token firmado», escribe el encabezado (su alg elige el algoritmo) y la carga útil, pega el secreto compartido o la clave privada (PEM o JWK) y haz clic en «Firmar». La clave se queda en tu navegador; firma con una clave de prueba en lugar de una de producción.
¿Por qué «Decodificar» dice Token JWT no válido?
El texto no tiene tres partes separadas por puntos, o una parte no es JSON codificado en base64url. Un token cifrado (JWE, cinco partes) no se rechaza: se muestra su encabezado y su carga útil sigue cifrada. «Decodificar» nunca mira la firma, así que una firma incorrecta no puede causar este mensaje.
Consejos y trucos
- ✓Un secreto copiado de un archivo .env puede terminar con un salto de línea; con «Formato del secreto» en texto, el veredicto lo indica cuando el secreto coincide sin él.
- ✓Si un token PS256 se firmó con otra longitud de sal, el veredicto indica esa longitud y explica por qué las bibliotecas conformes lo rechazan.