Saltar al contenido principal

Decodificador JWT gratis

Decodifica e inspecciona cualquier token web JSON. Consulta el encabezado, la carga útil, la expiración y los claims estándar. Todo se ejecuta localmente en tu navegador: los tokens nunca salen de tu dispositivo.

Funciona sin conexión una vez cargado

🔒 El token se decodifica completamente en tu navegador. Nada se envía a ningún servidor.

Usos habituales

  • Depuración de Problemas de Autenticación con Decodificador JWTInspecciona JWTs de tu aplicación para depurar fallos de inicio de sesión, problemas de permisos y problemas de expiración de token.
  • Inspeccionar Tokens de API Mientras se Prueban Puntos FinalesDecodifica JWTs devueltos por tu API para verificar que se están emitiendo los reclamos, alcances y permisos correctos.
  • Auditoría de Seguridad de Tokens JWTRevisa JWTs como parte de una auditoría de seguridad. Verifica algoritmos de firma débiles, vidas útiles de token excesivas o datos sensibles en la carga útil.
  • Inspeccionar Tokens OAuth y OpenID ConnectDecodifica tokens de acceso, tokens de ID y tokens de actualización de Google, Auth0, Okta, Microsoft y otros proveedores OAuth.
  • Aprende Cómo Funcionan los Tokens JWTDecodifica JWTs de ejemplo para entender la estructura: encabezado, carga útil y firma. Ver ejemplos de reclamos del mundo real.

Cómo funciona

El decodificador es un analizador escrito a mano y sin dependencias que se ejecuta enteramente en tu navegador: divide el token por puntos, convierte cada segmento Base64URL a Base64 normal mediante sustitución de cadenas y lo rellena a un múltiplo de cuatro, y luego llama al atob() y JSON.parse nativos del navegador para recuperar los objetos de encabezado y carga útil. La verificación opcional de firma usa la Web Crypto API (crypto.subtle.verify): sin biblioteca, sin servidor.

  1. 1
    Decodificación Base64URL
    La herramienta divide el JWT por sus dos delimitadores de punto, dando tres segmentos. Cada segmento es Base64URL, que usa - y _ en lugar de + y / y omite el relleno. El código convierte esos caracteres de vuelta y rellena con signos =, y luego llama al atob() integrado del navegador para decodificar los bytes.
  2. 2
    Análisis JSON y extracción de reclamaciones
    Los bytes decodificados se pasan por JSON.parse para producir los objetos de encabezado y carga útil. Las reclamaciones registradas exp, iat y nbf se extraen como marcas de tiempo Unix y se convierten en objetos Date; el estado de expiración se vuelve a comprobar cada 20 segundos mediante setInterval, así un token que expira mientras la pestaña está abierta pasa de válido a expirado automáticamente. Las marcas de tiempo relativas ('en 3 días', 'hace 2 horas') se formatean con Intl.RelativeTimeFormat usando la configuración regional de tu navegador.
  3. 3
    Visualización de firma y verificación opcional
    La cadena de firma Base64URL en bruto se muestra junto al encabezado y la carga útil. Si proporcionas una clave, la herramienta llama a crypto.subtle.importKey y crypto.subtle.verify para comprobar la firma localmente. Acepta secretos compartidos HMAC (HS256/384/512), claves públicas RSA codificadas en PEM (RS256/384/512), y claves públicas ECDSA u objetos JWK/JWKS (ES256/384/512), determinado por el campo alg del encabezado.
  4. 4
    Sin solicitudes de red
    Cada paso —decodificación, aritmética de marcas de tiempo y verificación criptográfica— se ejecuta dentro del motor JavaScript del navegador. El token y cualquier material de clave que introduzcas nunca salen de tu dispositivo.

Los JWT a menudo transportan credenciales de sesión, identidad de usuario y ámbitos de autorización; esta herramienta los decodifica y opcionalmente los verifica enteramente en tu navegador usando atob() y la Web Crypto API, así que ni el token ni ninguna clave que proporciones se transmiten a ningún sitio.

Herramientas relacionadas

Preguntas frecuentes