Generador y firmador de JWT

🔒 Funciona localmente en tu navegador — no se sube nada.
Añadir rápido:
 

Sobre esta herramienta

jwtviewer.com decodifica tokens; jwtparser los crea. Define tus claims, elige un algoritmo HMAC, escribe un secreto y la herramienta firma el token en vivo con la API Web Crypto. Útil para probar una API que espera un bearer token, preparar auth en tests o reproducir un bug con un exp o role concreto.

Solo se admiten algoritmos HMAC (secreto compartido) — nunca firmes aquí un token de producción real y trata los tokens generados como solo de prueba. Todo ocurre localmente; el secreto y el payload nunca salen de tu navegador. Para decodificar o verificar un token, usa jwtviewer.com.

La firma sigue el RFC 7519: la herramienta construye el header {"alg":…,"typ":"JWT"}, codifica header y payload en Base64url y calcula una firma HMAC-SHA sobre header.payload con tu secreto usando la API Web Crypto. HS384 y HS512 solo usan hashes más largos que HS256 — elige el que espere tu backend. Los claims de tiempo como exp, iat y nbf son segundos Unix, por eso los botones de añadido rápido los calculan por ti. Las tres partes del resultado van coloreadas para ver dónde empiezan header, payload y firma.

Preguntas frecuentes

¿Puede esta herramienta crear tokens RS256?

No — solo la familia HMAC (HS256, HS384, HS512), que firma con un secreto compartido. RS256 necesita una clave privada RSA. Para pruebas, HMAC suele bastar; para decodificar o verificar un token, usa jwtviewer.com.

¿Es seguro escribir un secreto aquí?

La firma ocurre por completo en tu navegador con la API Web Crypto — el secreto y el payload nunca se suben. Aun así, la buena práctica es usar aquí secretos de prueba desechables y nunca una clave de firma de producción real.

¿Cómo configuro la expiración del token?

El claim exp es una marca de tiempo Unix en segundos. Haz clic en un botón de añadido rápido — exp = +1h, +1d o +7d — o escribe un valor tú mismo; el token se vuelve a firmar al instante con cada cambio.

¿Por qué mi API rechaza el token generado?

Causas habituales: el secreto no coincide con el del servidor, el algoritmo difiere del que espera el backend, exp ya está en el pasado, o el servidor exige un algoritmo asimétrico como RS256. Decodifica el token en jwtviewer.com para comparar sus claims.