Decodificador JWT y verificador de firmas HMAC

Decodifica cabeceras y payloads JWT, inspecciona claims y verifica firmas HMAC SHA-256, SHA-384 o SHA-512 localmente.

Cómo funciona
  • La verificación opcional cubre solo algoritmos HMAC (HS256, HS384, HS512). Trata las claims como no confiables hasta que tu servidor las verifique en producción.

Déjalo vacío para solo decodificar. Solo HS256, HS384 y HS512.

Sobre la decodificación y verificación JWT

¿Qué es un JSON Web Token?

Un JSON Web Token (RFC 7519) consta de cabecera, payload y firma criptográfica.

La decodificación extrae cabecera y claims. La verificación recalcula la firma HMAC con un secreto en Web Crypto local.

Decodificar y verificar JWT en código

JavaScript (Node.js)
const crypto = require("crypto");
const [header, payload, signature] = token.split(".");
const expected = crypto.createHmac("sha256", secret)
  .update(`${header}.${payload}`)
  .digest("base64url");
const isValid = crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
Python
import hmac, hashlib, base64
header, payload, sig = token.split(".")
expected = base64.urlsafe_b64encode(
    hmac.new(secret.encode(), f"{header}.{payload}".encode(), hashlib.sha256).digest()
).decode().rstrip("=")
is_valid = hmac.compare_digest(sig, expected)

Preguntas sobre decodificación JWT

¿Cuál es la diferencia entre decodificar y verificar?
Decodificar lee los datos. Verificar comprueba la firma criptográfica con la clave secreta.
¿Qué algoritmos se pueden verificar?
Se admiten algoritmos HMAC simétricos: HS256, HS384 y HS512.
¿Es seguro pegar tokens de producción?
Sí. ToolingO funciona 100% localmente en tu navegador.