Decodificador JWT Gratuito — Inspecciona Tokens de Forma Segura
Pega un JSON Web Token y visualiza al instante el header, payload, claims y estado de expiración decodificados. Todo se procesa en tu navegador — el token nunca sale de tu dispositivo.
Tu token permanece en tu navegador. Nada se envía al servidor.
¿Qué es un JWT?
Un JSON Web Token (JWT) es una forma compacta y segura para URL de transmitir claims entre dos partes. Es el formato estándar de bearer token para OAuth 2.0, OpenID Connect y la mayoría de esquemas de autenticación API modernos.
Un JWT tiene tres partes codificadas en Base64URL separadas por puntos: header.payload.signature. El header declara el algoritmo de firma (ej: HS256, RS256). El payload contiene claims registrados como "exp" (expiración) e "iat" (emitido en), más datos personalizados. La firma asegura que el token no ha sido alterado.
Este decodificador divide el token, decodifica el header y payload en Base64URL, los parsea como JSON y verifica el claim "exp" contra la hora actual para indicar si el token sigue siendo válido.
Cómo Usar
- Pega tu JWT en el área de texto. Se decodifica al instante mientras escribes.
- Revisa el Header decodificado para confirmar algoritmo y tipo de token.
- Verifica los claims del Payload: sub, exp, iat y campos personalizados.
- Observa el badge de estado — indica si el token está expirado o activo.
- Haz clic en Copiar en cualquier sección para obtener el JSON formateado.
Casos de Uso
Depurar flujos de autenticación
Tu login funciona en staging pero falla en producción. Pega el token de cada entorno y compara los claims. ¿Issuer diferente? ¿Audience incorrecto? ¿Roles faltantes? Lo verás al instante.
Verificar expiración durante desarrollo
Tu API devuelve 401 y no estás seguro si es el token o el endpoint. Pégalo aquí para ver la hora exacta de expiración en UTC.
Revisar tokens antes de compartir logs
Antes de pegar un token en Slack o un bug report, decodifícalo para asegurarte de que no contiene datos personales que no deberías compartir.
Aprender la estructura JWT
¿Implementando JWT por primera vez? Pega tokens de ejemplo para ver cómo se ensamblan header, claims y signature.
Consejos de Seguridad
Nunca confíes en un JWT sin verificar la firma
Decodificar NO es verificar. Esta herramienta muestra el contenido, pero en producción debes verificar la firma con la clave del emisor.
Mantén los tokens de corta duración
Los access tokens deben expirar en minutos. Usa refresh tokens para sesiones largas. Un exp con semanas de anticipación es una señal de riesgo.
No pongas secretos en el payload
Los JWT están codificados, no cifrados. Cualquiera con el token puede decodificarlo. Nunca almacenes contraseñas o API keys en claims.
Verifica el header del algoritmo
El ataque "alg":"none" está bien documentado. Si ves "none" en producción, investiga inmediatamente.
Ejemplos
Token HS256 estándar
Un access token típico con claims estándar.
Input
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIiwiZXhwIjoyMDAwMDAwMDAwfQ.signatureOutput
{
"alg": "HS256",
"typ": "JWT"
}
{
"sub": "1234567890",
"name": "Jane Doe",
"exp": 2000000000
}Token expirado
Un token con exp en el pasado — el decodificador lo marca como expirado.
Input
eyJhbGciOiJub25lIn0.eyJleHAiOjF9.signatureOutput
Header: { "alg": "none" }
Payload: { "exp": 1 }
Estado: EXPIRADO (1970-01-01T00:00:01.000Z)Características
- Decodificación instantánea mientras escribes
- 100% del lado del cliente, cero peticiones de red
- Estado de expiración con timestamp UTC exacto
- Visualización separada de header, payload y firma
- Copia con un clic para cada sección
- Privacidad primero: tu token no sale del navegador
Preguntas Frecuentes
¿Es seguro pegar mi JWT de producción?
Sí. Funciona completamente en tu navegador usando atob(). Abre DevTools → pestaña Red y verifica: no se envía ninguna petición.
¿Puede verificar la firma?
No. La verificación de firma requiere la clave de firma. Esta herramienta solo decodifica y muestra el contenido.
¿Qué significa "alg: none"?
Significa que el token no tiene firma criptográfica. Es un vector de ataque conocido (CVE-2015-9235). Los sistemas legítimos nunca usan "none" en producción.
¿Puede decodificar JWE (tokens cifrados)?
No. Solo maneja JWS (tokens firmados). Los JWE tienen 5 partes separadas por puntos y requieren la clave de descifrado.
Consejos y Flujos Relacionados
- ¿Necesitas decodificar el payload Base64 manualmente?Codificador Base64.
- ¿Quieres formatear el JSON decodificado?Formateador JSON.
- ¿Revisando timestamps del token?Conversor de Timestamp.