Codificador JWT

Descripción general

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.