¿Qué es Decodificador de JWT?
Un JWT (JSON Web Token) es la forma estándar en que las API web modernas representan los claims de autenticación y autorización. Es un token compacto y autocontenido formado por tres partes — un encabezado que describe el algoritmo de firma, una carga útil que transporta los claims reales (como el ID de usuario, los roles y la expiración) y una firma que permite al servidor receptor verificar que el token no ha sido manipulado.
Este decodificador lee el encabezado y la carga útil al instante para que puedas depurar problemas de autenticación, inspeccionar qué claims está enviando realmente una API o comprobar cuándo expira un token — todo sin necesidad de un backend, una herramienta de línea de comandos ni pegar tokens sensibles en un servidor de terceros, ya que todo se ejecuta localmente en tu navegador.
Cuándo Usar Esta Calculadora
- Depurar por qué una API rechaza un token inspeccionando sus claims y tiempo de expiración
- Comprobar el tiempo de expiración de un token durante una investigación de soporte o respuesta a incidentes
- Verificar que un proveedor de SSO u OAuth esté emitiendo las reclamaciones que su aplicación espera.
- Aprender cómo están estructurados los JWT para una entrevista de trabajo o un curso de seguridad
- Inspeccionar un token capturado de las herramientas de desarrollo del navegador o registros del servidor para entender su contenido
- Comparar el algoritmo del encabezado entre tokens para depurar fallos de autenticación por desajuste de algoritmo
Pasos:
- Pega tu JWT en el campo de entrada, o haz clic en "Cargar ejemplo" para probar uno.
- El encabezado y la carga útil se decodifican automáticamente a medida que escribes.
- Revisa claims como iss, sub, exp e iat en forma legible.
- Los claims de marca de tiempo (exp, iat, nbf) se convierten automáticamente en fechas legibles.
Fórmula
JWT = base64Url(encabezado) + "." + base64Url(carga útil) + "." + base64Url(firma)
Decodificación: dividir por ".", decodificar en Base64URL las dos primeras partes, analizar como JSON.
Verificación (no realizada aquí): HMACSHA256(base64Url(encabezado) + "." + base64Url(carga útil), secreto) === firma
Casos de uso
- Depurar por qué una API rechaza un token inspeccionando sus claims
- Comprobar el tiempo de expiración de un token durante una investigación de soporte
- Verificar que un proveedor SSO u OAuth emite los claims esperados
- Aprender cómo están estructurados los JWT para una entrevista de trabajo o un curso
- Inspeccionar rápidamente un token copiado de las herramientas de desarrollo del navegador o de registros del servidor
Beneficios Clave
- Decodifica cualquier JWT al instante sin backend ni herramienta de línea de comandos
- Todo se ejecuta del lado del cliente — los tokens nunca se envían a un servidor
- Convierte automáticamente los claims de marca de tiempo en fechas legibles
- Gratis, sin registro, funciona con cualquier JWT sin importar el algoritmo
Consejos Profesionales
- Revisa siempre 'exp' primero al depurar un error "unauthorized" — un token expirado es la causa más común
- Compara el 'alg' del encabezado con lo que espera tu backend para detectar errores de desajuste de algoritmo
- Nunca confíes en una carga útil decodificada como prueba de identidad sin verificar la firma en el servidor
- Usa tokens de corta duración junto con tokens de actualización en lugar de JWT de larga duración para limitar la exposición si alguno se filtra
Errores Comunes que Debes Evitar
- Suponer que un JWT decodificado es un JWT verificado — decodificar solo lee el contenido, no confirma la autenticidad
- Almacenar datos sensibles (contraseñas, secretos) en la carga útil, olvidando que cualquiera puede leerla
- Pegar tokens de producción en decodificadores en línea no confiables
- Confundir 'exp' (expiración) con 'iat' (emitido en) al depurar problemas de vida útil del token
Términos Clave Explicados
- Claim: Un dato afirmado sobre un sujeto, como un ID de usuario o un rol
- Encabezado: El primer segmento del JWT, que especifica el algoritmo de firma y el tipo de token
- Carga útil: El segundo segmento del JWT, que contiene los claims reales
- Firma: El tercer segmento del JWT, usado para verificar que el token no ha sido alterado
Conceptos relacionados
- Generador de hash:
- Generador UUID:
- Codificador/decodificador Base64:
- Formateador JSON:
- Verificador de fortaleza de contraseña:
Ejemplo
Un token que empieza con eyJhbGciOiJIUzI1NiJ9 se decodifica en un encabezado {"alg":"HS256","typ":"JWT"} — lo que indica que el token está firmado con HMAC-SHA256.
Interpretación de sus resultados
El decodificador divide el JWT en los dos separadores de punto y decodifica los dos primeros segmentos en Base64URL. El encabezado indica el algoritmo de firma (como HS256 o RS256) y el tipo de token. La carga útil contiene las reclamaciones reales: identidad del usuario, permisos y marcas de tiempo.
Las reclamaciones de marca de tiempo (exp, iat, nbf) se convierten automáticamente de la época Unix a fechas legibles. Si 'exp' muestra una fecha pasada, el token ha caducado y la mayoría de los servidores lo rechazarán. La reclamación 'sub' (asunto) normalmente contiene el ID de usuario e 'iss' (emisor) identifica el servidor que creó el token.
Recuerde que decodificar no es verificar. La sección de firma se muestra, pero no puede verificarse sin la clave secreta o pública. Una carga útil decodificada es solo informativa; nunca la tome como prueba de identidad sin verificación de firma en el servidor.

