Decodificador de JWT: Inspecciona tus Tokens de Forma Segura
Decodifica el header y payload, inspecciona claims y comprueba la expiración.
Decoded locally in your browser. The token is never transmitted.
Join the Veojson dispatch
Recibe el boletín semanal de Veojson: una nota concisa sobre tecnología web, seguridad y herramientas para desarrolladores.
One email, no spam, unsubscribe any time.
Sobre esta herramienta
Un JSON Web Token se compone de tres segmentos base64url separados por puntos: header, payload y signature. Este decodificador separa y decodifica los dos primeros localmente para que puedas leer los claims, verificar el algoritmo y comprobar si el token ha expirado.
Cómo leer un JWT
El header declara el algoritmo de firma (alg) y el ID de clave (kid). El payload contiene claims registrados como iss, sub, aud, exp, iat y nbf, además de claims personalizados de tu aplicación. La firma se verifica en el servidor con la clave de firma; decodificar no demuestra que un token sea auténtico.
¿Es lo mismo decodificar un JWT que verificarlo?
No. Cualquiera puede decodificar un JWT porque el payload solo está codificado en base64url, no cifrado. La verificación requiere la clave secreta o pública. Nunca coloques datos sensibles en el payload de un JWT.
Cómo usar JWT Decoder & Verifier
- 1
Pega el token
Copia la cadena completa `xxxxx.yyyyy.zzzzz` desde tu header Authorization, cookie o respuesta de la API y pégala en el campo de entrada.
- 2
Revisa el header
Confirma que el algoritmo de firma y el ID de clave (`kid`) coincidan con los que debe emitir tu proveedor de identidad.
- 3
Inspecciona los claims
Verifica el subject, issuer, audience, scopes/roles y las marcas de tiempo legibles de emisión y expiración.
- 4
Actúa según la expiración
Si el token ha expirado, renuévalo (refresh). Si los claims son incorrectos, compáralos con la configuración de tu IdP antes de depurar el código de la aplicación.
Ejemplo de entrada
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NSIsIm5hbWUiOiJBZGEiLCJleHAiOjE3NTAwMDAwMDB9.sig
Salida esperada
{ "alg": "HS256", "typ": "JWT" }
{ "sub": "12345", "name": "Ada", "exp": 1750000000 } → expiredBuenas prácticas
- Nunca pegues un token activo de producción en un decodificador online que no controles; trata cada token como una contraseña activa hasta que expire.
- Revisa siempre el header `alg`. Rechaza `none` y, para API públicas, prefiere algoritmos asimétricos (RS256/ES256) sobre claves compartidas HS256.
- Valida `exp`, `nbf`, `iat`, `iss` y `aud` en el servidor en cada petición. Decodificar no prueba nada, solo la verificación de la firma lo hace.
- Mantén la vida útil de los access tokens corta (5–15 minutos) y delega las sesiones largas a tokens de refresco (refresh tokens) con rotación.
- No almacenes datos personales ni secretos en el payload: un JWT está firmado, no cifrado, y cualquiera que lo posea puede leer todos los claims.
JWT Decoder & Verifier — Por qué importa
Los JWT están al frente de casi cualquier API moderna, por lo que un solo claim malinterpretado puede causar una caída, un flujo de login roto o un fallo silencioso de autorización.
La mayoría de los incidentes reales con JWT ocurren por aceptar tokens no verificados, confusión con `alg: none` o una expiración demasiado larga; todo esto es visible al inspeccionar el token.
Herramientas relacionadas, gratis y de pago
| Herramienta | Tipo | Características clave | Enlace |
|---|---|---|---|
| jwt.io | Free | Decodificador clásico con verificación de firma | Visitar |
| Authgear JWT Debugger | Free | Soporte para JWE e inspección avanzada de claims | Visitar |
| Auth0Oferta | Freemium | IdP gestionado que emite, rota y verifica JWT | Visitar |
| Keycloak | Free | Proveedor OIDC autoalojado con soporte completo de JWT | Visitar |
Algunos enlaces marcados como Oferta son enlaces de socios. No te cuestan nada extra y ayudan a mantener estas herramientas gratuitas.