Decodificador de tokens JWT

Decodifica cualquier JSON Web Token para leer su encabezado, su payload y su caducidad en lenguaje claro, sin enviar el token a ningún sitio.

Gratis, sin registro Funciona en tu navegador Desarrollo y codificadores

JWT

Tres partes en Base64Url separadas por puntos. El prefijo "Bearer" se elimina automáticamente.

La decodificación se hace en tu navegador. El token nunca se envía a ningún sitio.

Decodificado

Encabezado


    

Carga útil (payload)


    

Firma


    

Para verificar la firma se necesita el secreto o la clave pública, que no forman parte del token.

Cómo usar el decodificador de JWT

Pega un JSON Web Token completo: tres segmentos en Base64Url separados por puntos. El decodificador divide el token, decodifica cada parte y muestra el encabezado y el payload como JSON con formato. Los claims estándar, como exp, iat, nbf, iss, aud y sub, se muestran en lenguaje sencillo, incluido si el token ha caducado. Puedes pegar un valor completo de "Authorization: Bearer" y el prefijo se elimina.

Por qué decodificar los tokens en local

Los JWT están en todas partes en la autenticación moderna: OAuth 2.0, OpenID Connect, acceso a API, enlaces mágicos y enlaces para restablecer contraseñas. Depurar una llamada a una API que falla suele empezar por leer los claims del token. Muchos decodificadores en línea envían tu token a un servidor, una mala costumbre con tokens que pueden seguir siendo válidos. Este decodificador se ejecuta por completo en tu navegador.

Usos habituales

  • Depurar respuestas "401 Unauthorized" revisando los claims
  • Confirmar que un token no ha caducado
  • Comprobar que la audiencia (aud) coincide con lo que espera tu API
  • Ver qué roles o permisos (scopes) contiene el token de un usuario
  • Enseñar a ingenieros nuevos cómo se construyen los JWT

Estructura de un JWT: header.payload.signature

El encabezado indica el algoritmo de firma (alg) y el tipo de token (typ). El payload contiene los claims: estándar, como exp, iat e iss, y personalizados, como roles o permisos. La firma demuestra que el token no fue modificado. Decodificar no es verificar: cualquiera puede leer cualquier JWT, pero solo quien tenga la clave correcta puede confirmar la firma.

Por qué aquí no se pueden verificar las firmas

La verificación necesita el secreto compartido (para algoritmos HMAC como HS256) o la clave pública del emisor (para algoritmos RSA o ECDSA como RS256). Ninguno de los dos está dentro del token. El token por sí solo te dice lo que afirmó el emisor. Solo la clave te confirma que realmente proviene del emisor.

Preguntas frecuentes

¿Es seguro pegar mi JWT aquí?

El decodificador se ejecuta en tu navegador y no envía nada a ningún servidor. Aun así, trata cualquier token sin caducar que dé acceso a algo importante como si fuera una contraseña, y ten cuidado con herramientas que podrían registrarlo.

¿Los JWT están cifrados?

Los JWT estándar están firmados, no cifrados, así que cualquiera puede leer el payload. Los tokens cifrados usan JWE (JSON Web Encryption), un estándar distinto con cinco partes en lugar de tres. No pongas secretos en el payload de un JWT normal.

¿Qué significa "JWT signature invalid" en los registros de mi API?

El token fue modificado, se firmó con otra clave o tu verificador espera otro algoritmo. Decodifica el encabezado y confirma que el valor de alg coincide con la configuración de tu verificador.

¿Dónde se definen los claims estándar?

El RFC 7519 define iss (emisor), sub (sujeto), aud (audiencia), exp (caducidad), nbf (no antes de), iat (emitido en) y jti (ID del JWT). Los claims personalizados son libres. Algunos comunes son roles, scope, email y tenant_id.

Accesibilidad

Skip to Accessibility Panel