Decodificador y verificador de JSON Web Token
Tres segmentos base64url, una firma que o es real o no lo es, y una ventana de validez que o incluye este momento o no. Esta herramienta responde a las tres cosas sin red, y enseña el motivo exacto cuando la respuesta es no.
La clave la usa la criptografía de tu navegador en esta pestaña y no se envía a ningún sitio.
Cómo funciona
Pega el token
Pégalo o suelta un archivo, aunque sea una línea de log: el token se extrae de ahí. Se parte, se decodifica y se revisan los casos mal formados al momento.
Añade la clave
Un secreto compartido en texto, base64 o hex, una clave pública PEM, un JWK o un JWKS entero: se elige la entrada que coincide con el kid del token.
Verifica
Pulsa el botón: la criptografía del propio navegador hace las cuentas. Obtienes válida, inválida, o el motivo exacto por el que la clave no sirve. Nunca un encogimiento de hombros.
Llévalo más lejos
Comprueba los claims contra lo que espera tu servicio, firma un token nuevo en el constructor, o pasa el payload a otra herramienta de la suite.
Firmas comprobadas de verdad
HS256/384/512, RS, PS y ES —incluido ES512 sobre P-521— verificados por la Web Crypto del propio navegador. Sin servidor, sin librería, sin subir nada.
Claims juzgados, no solo mostrados
exp, nbf e iat contra el desfase de reloj que tú fijes, más el emisor, la audiencia y el sujeto que espera tu servicio. Cada comprobación pasa, falla o se omite, y lo dice.
Una vigencia que se ve
La cuenta atrás solo corre cuando hay algo que contar, y la barra enseña dónde cae este momento entre nbf y exp.
Firma tokens, no solo los leas
Edita el header y el payload, elige algoritmo y firma. El resultado se abre otra vez en el inspector para que verifiques lo que acabas de crear.
Todos los formatos de clave
Secreto en texto, base64 o hex; claves públicas PEM; un JWK suelto; o un JWKS entero, donde se selecciona sola la entrada que coincide con el kid del token.
Ataques dichos en voz alta
alg: none, una firma vacía, un payload que es JSON legal pero no un objeto, base64 que sobrevivió a una URL: cada caso se señala por lo que es.
No se sube nada
El token y la clave los usa la criptografía de esta pestaña y desaparecen al cerrarla. No hay lado servidor al que mandarlos.
Enlaza con el resto de la suite
Manda los claims directos a JSONFlow, DiffSnap, Base64Bolt o Hash Bolt sin descargar ni volver a subir nada.
Un decodificador que además sabe decir que no
Pega un token para leerlo y añade la clave para demostrarlo. Verificación real de la firma con la criptografía del propio navegador, comprobación de claims contra lo que tu servicio espera y un constructor que vuelve a firmar tokens.
La criptografía ya estaba en el navegador
Web Crypto es una implementación completa de HMAC, RSASSA-PKCS1-v1_5, RSA-PSS y ECDSA, y viene en todos los navegadores sin coste. La decodificación, la verificación, las comprobaciones de claims y la firma pasan por ahí, en esta pestaña, sin ninguna petición a ningún sitio.
Para depurar de verdad, no para la demo
Las preguntas que salen a las tres de la tarde: ¿este 401 es porque el token ha caducado o porque el gateway tiene la clave equivocada? ¿Mandó el cliente la audiencia que espera la API? ¿Sigue ese kid en el JWKS? Pega el token, pega el conjunto de claves y obtén una respuesta con su motivo, también para los tokens que están rotos y no solo inválidos.
Un JWT suele llevar una identidad, y un secreto de firma es lo que los acuña. Aquí no se envía ninguno de los dos a ninguna parte: esta herramienta no tiene lado servidor, ni cuenta, ni analíticas sobre lo que pegas. Cierra la pestaña y ambos desaparecen, porque la memoria de esta pestaña fue el único sitio donde existieron.
Preguntas frecuentes
Q¿Se sube mi token o mi clave a algún sitio?+
No. La decodificación, la verificación de la firma y el firmado se ejecutan dentro de tu navegador con la API Web Crypto. No hay componente de servidor al que mandar nada, y no se guarda nada entre visitas.
Q¿De verdad puede verificar la firma?+
Sí, y es el sentido de esta versión. Pega el secreto compartido para HS256/384/512, o una clave pública PEM, un JWK o un JWKS para RS, PS y ES. El navegador hace las cuentas y el veredicto es válida, inválida, o un motivo con nombre por el que la clave no sirvió.
Q¿Qué algoritmos admite?+
HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 y ES512, más EdDSA cuando el navegador ofrece Ed25519. ES512 usa P-521, como exige la especificación.
Q¿Qué pasa con alg: none?+
Se marca como token sin asegurar y la verificación siempre lo rechaza. Un token sin firma es justo el ataque para el que existe esa comprobación, así que nunca muestra la marca verde.
Q¿Puedo crear un token, no solo leerlo?+
Sí. La pestaña de creación te deja editar el header y el payload, elegir algoritmo, generar en el momento un secreto o un par de claves RSA/EC, y firmar. El resultado se abre otra vez en el inspector para que verifiques lo que has producido.
Q¿Qué hacen las comprobaciones de claims?+
Comparan el token con lo que exigiría un verificador: exp, nbf e iat con el desfase de reloj que fijes, una antigüedad máxima opcional, y el emisor, la audiencia y el sujeto que espera tu servicio. Cada fila pasa, falla, o se omite si no la has pedido.