Generador JWT
Crea y firma JSON Web Tokens con algoritmos HMAC. Elige HS256, HS384 o HS512 — todo firmado client-side con Web Crypto API.
Cómo funciona: Configura el algoritmo, edita el payload JSON, ingresa tu clave secreta y haz clic en Generar. El token se firma completamente en tu navegador usando Web Crypto API — tu secreto nunca sale de tu dispositivo.
{
"alg": "HS256",
"typ": "JWT"
}Tu JWT firmado aparecerá aquí...
¿Qué es un JWT?
Un JSON Web Token (JWT) es una forma compacta y segura para URLs de representar claims entre dos partes. Consiste en tres partes separadas por puntos: un header (algoritmo y tipo de token), un payload (claims/datos) y una firma. Los JWTs se usan ampliamente para autenticación, autorización e intercambio de información en aplicaciones web y APIs.
Cómo funciona la firma JWT
La firma JWT usa algoritmos criptográficos para asegurar que el token no ha sido alterado. Los algoritmos HMAC (HS256, HS384, HS512) usan una clave secreta compartida — la misma clave firma y verifica el token. La firma se crea hasheando el header y payload codificados con el secreto. Cualquiera con el secreto puede verificar la autenticidad del token, pero sin el secreto, forjar una firma válida es computacionalmente inviable.
Claims comunes en JWT
Los payloads JWT contienen claims — pares clave-valor con información sobre el usuario o token. Los claims estándar incluyen: iss (emisor), sub (sujeto/ID de usuario), aud (audiencia), exp (tiempo de expiración como timestamp Unix), nbf (no antes de), iat (emitido en) y jti (ID único del token). Claims personalizados pueden contener cualquier dato serializable en JSON como roles, permisos o correos. Mantén los payloads pequeños — los JWTs se envían con cada solicitud.
Mejores prácticas de seguridad JWT
- Siempre configura expiración (exp) — tokens sin expirar son un riesgo de seguridad
- Usa secretos fuertes — al menos 256 bits para HS256, idealmente bytes aleatorios
- Nunca guardes datos sensibles en el payload — los JWTs están codificados, no encriptados
- Usa HTTPS — los JWTs en tránsito pueden ser interceptados en conexiones sin encriptar
- Valida todos los claims en el servidor — no confíes ciegamente en el token del cliente
- Considera RS256 para sistemas distribuidos — claves asimétricas evitan compartir secretos