Generador de JWT
Crea y firma un JWT directamente en tu navegador. Introduce los claims del payload (los estándar sub, aud, exp, etc. más cualquiera personalizado), elige el algoritmo (HS256 con un secreto compartido o RS256/ES256 con una clave privada) y la herramienta produce el token de tres partes. Útil para desarrollo local, pruebas de carga y reproducción de problemas de autenticación.
Cómo generar un JWT
-
1
Escribe el payload
Claims estándar (`sub`, `iss`, `aud`, `exp`, `iat`, `nbf`) más cualquiera personalizado que tu aplicación espere.
-
2
Elige el algoritmo
HS256/384/512 con un secreto compartido, o RS256/ES256 con una clave privada en formato PEM.
-
3
Proporciona la clave
Texto de secreto compartido para HMAC, o pega la clave privada para RSA/ECDSA. Ambas permanecen en tu navegador.
-
4
Generar
La salida es el token firmado. Cópialo, úsalo en pruebas, decodifícalo con el Decodificador de JWT para inspeccionarlo.
Carga útil típica para un token de usuario autenticado
{
"iss": "https://auth.example.com",
"aud": "api.example.com",
"sub": "user_12345",
"iat": 1713398400,
"nbf": 1713398400,
"exp": 1713402000,
"jti": "3c7c7e14-2de4-41f0-bf09-1eb5cfad4c01",
"scope": "read:profile write:posts"
}
Elección del algoritmo: HMAC vs asimétrico
| Algoritmo | Tipo de clave | Usar cuando |
|---|---|---|
| HS256 | Secreto compartido de 256 bits | Monolito que firma y verifica a sí mismo |
| HS384/512 | Secreto más largo | Igual que HS256, más fuerte |
| RS256 | RSA 2048+ | El emisor firma, muchos servicios verifican con clave pública |
| ES256 | ECDSA P-256 | Igual que RS256 pero con firmas más pequeñas |
| EdDSA | Ed25519 | Verificación asimétrica más rápida, claves más pequeñas |
Fuerza de la clave
- Los secretos HMAC deben tener al menos tanta entropía como el tamaño de salida del algoritmo. HS256 necesita 256 bits aleatorios (32 bytes); menos es susceptible a fuerza bruta.
- Las claves RSA deben ser de 2048 bits como mínimo; 3072 o 4096 para tokens de larga duración.
- ECDSA (ES256) ofrece seguridad comparable a RSA 3072 con claves mucho más pequeñas y firma más rápida.
Directrices de expiración
| Tipo de token | Duración típica de exp |
|---|---|
| Token de acceso | 5 - 60 minutos |
| Token de refresco | Días a semanas |
| Restablecimiento de contraseña | 5 - 15 minutos |
| Verificación de correo | 24 horas |
| Servicio a servicio | 1-5 minutos (corto) |
Expiración corta + token de refresco es el patrón moderno. Los tokens de acceso de larga duración son difíciles de revocar cuando se ven comprometidos.
Errores comunes
- Reutilizar un secreto de prueba en producción. El generador marca secretos HS256 y el JWT de salida como solo para pruebas si el secreto parece débil. Confía en esa advertencia.
- Firmar sin
exp. Un JWT sin expiración es válido para siempre. Siempre estableceexpa menos que tengas una muy buena razón y una lista de revocación. - Usar el
algdel encabezado en el verificador. Siempre blinda los algoritmos en el lado de verificación; no sigas lo que el token solicita. - Pegar una clave privada real aquí. Este generador se ejecuta en tu navegador, pero trata las claves privadas como secretos: usa claves de prueba, no de producción.
Preguntas frecuentes
No. La firma ocurre en tu navegador usando la API Web Crypto. Las claves nunca salen de tu máquina. Dicho esto, para claves de producción, genera y firma en un entorno controlado, no en un navegador.
HS256 está bien para un monolito donde el mismo servicio firma y verifica. RS256 o ES256 es mejor cuando el emisor es diferente del verificador, las claves públicas se pueden compartir sin exponer la clave de firma.
Corto. 5-15 minutos para tokens de acceso es típico. Usa un token de refresco con una vida útil más larga para una experiencia de usuario fluida. Nunca emitas JWT sin un claim exp.
La herramienta admite emitir alg: none para pruebas deliberadas de tokens rotos / no firmados, con una advertencia prominente. Nunca aceptes tales tokens en código de producción.
Herramientas relacionadas
Codificador de cifrado A1Z26
Codifica texto usando el cifrado A1Z26 (A=1, B=2, ... Z=26) o decodifica una secuencia de números de vuelta a letras, con separador personalizable.
Codificador de archivos Base64
Codifica cualquier archivo (PDF, ZIP, imagen, ejecutable) a texto Base64 para incrustar en JSON, correo electrónico, YAML o URIs de datos. Se ejecuta localmente, sin carga.
Identificador de Cifrados
Pega el texto cifrado y el identificador sugiere esquemas de codificación/cifrado probables: Base64, hex, binario, Morse, César o sustitución, JWT y hashes comunes.
Verificador de Suma de Comprobación
Calcula la suma de comprobación MD5, SHA-1, SHA-256, SHA-384, SHA-512 o CRC32 de cualquier texto y compárala con un valor esperado para obtener un veredicto claro de coincidencia o no.
Generador de CSR
Genera una Solicitud de Firma de Certificado codificada en PEM y una clave privada RSA correspondiente. Especifica el Nombre Común, los campos de organización y el tamaño de clave (2048, 3072 o 4096 bits).
Generador de Hash bcrypt
Genera hashes bcrypt o verifica una contraseña en texto plano contra un hash bcrypt existente. Genera y verifica lado a lado en una sola herramienta.
Herramienta disponible en otros idiomas
- JWT-generator [SV]
- Générateur de JWT [FR]
- JWT-generator [NL]
- ตัวสร้าง JWT [TH]
- Bộ tạo JWT [VI]
- مولد JWT [AR]
- Generator JWT [ID]
- JWTジェネレーター [JA]
- JWT 생성기 [KO]
- JWT-Generator [DE]
- Generator JWT [PL]
- Gerador de JWT [PT]
- Генератор JWT [RU]
- JWT Oluşturucu [TR]
- JWT 生成器 [ZH]
- JWT Generator [EN]
- Generatore JWT [IT]