El decodificador y codificador JWT es una herramienta de depuración de JSON Web Tokens que funciona en el navegador. Pega un JWT para decodificar su Header y Payload, verificar su firma, o cambia al modo de codificación para construir un nuevo token firmado. Todo se ejecuta localmente — los tokens y las claves nunca se envían a un servidor.
Estructura de un JWT de un vistazo
Un JWT son tres segmentos codificados en Base64url separados por puntos:
eyJhbGciOiJIUzI1NiJ9
.eyJ1c2VySWQiOiIxMjMiLCJleHAiOjE3MDAwMDAwMDB9
.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Header decodificado:
{ "alg": "HS256", "typ": "JWT" }
Payload decodificado:
{
"userId": "123",
"exp": 1700000000,
"iss": "example.com",
"iat": 1699993600
}
alg determina el algoritmo de firma. exp es el timestamp Unix de expiración. iss es el emisor. iat es el momento de emisión.
Verificación de firma
Al pegar un JWT, la herramienta lee alg del Header y muestra el campo de clave correspondiente:
- HS256/HS384/HS512 (HMAC): introduce el secreto compartido
- RS256/RS384/RS512 (RSA): introduce la clave pública o privada en formato PEM
- ES256/ES384/ES512 (ECDSA): introduce la clave pública o privada EC en formato PEM
El resultado de la verificación se actualiza en tiempo real — verde si es válida, rojo si no lo es. No se necesita ningún botón adicional.
Elegir un algoritmo
HMAC simétrico (HS256/384/512)
- La misma clave firma y verifica
- Adecuado para uso interno en un único servicio
- La clave debe mantenerse estrictamente secreta — nunca exponerla a los clientes
RSA/ECDSA asimétrico (RS256/ES256 etc.)
- Clave privada firma, clave pública verifica
- La clave pública puede distribuirse abiertamente
- Recomendado para sistemas distribuidos y entornos de producción
Codificar un nuevo JWT
En modo codificación: selecciona un algoritmo, edita el JSON del Payload, introduce la clave o clave privada, y establece una expiración como 2h (2 horas), 30m (30 minutos), 1d (1 día) o 7d (7 dias). La herramienta escribe el timestamp exp automáticamente.
Por qué falla la verificación de firma
Las causas más comunes: clave incorrecta (un secreto diferente del que firmó el token), desajuste de algoritmo (el Header dice RS256 pero introdujiste un secreto HMAC), o el token ha sido manipulado. Para tokens asimétricos, confirma que estás usando la clave pública correcta — no la privada — para verificar.