Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Saltar al contenido principal
Gizke.com
Blog

Decodificador de JWT

Funciona en tu dispositivo. No se envía nada.

Decodifica e inspecciona JSON Web Tokens en tu navegador: encabezado, payload, expiración y verificación de firma opcional. No se sube nada.

Un JSON Web Token (JWT) es una forma compacta y segura para URL de representar claims entre dos partes. Se usa en todas partes, desde encabezados "Authorization: Bearer ..." hasta cookies de sesión y el inicio de sesión único (SSO). Un JWT son solo tres partes codificadas en base64url (encabezado, payload, firma) unidas por puntos, así que cualquiera puede decodificar y leer el encabezado y el payload sin necesitar la clave de firma: solo verificar la firma requiere un secreto o una clave privada. Esta herramienta decodifica ambas partes localmente en tu navegador, explica los claims estándar, marca un token expirado o aún no válido, y advierte sobre la trampa de seguridad del algoritmo "none", y tu token nunca se envía a ningún sitio.

Preguntas frecuentes

¿Se envía mi JWT a un servidor?
No. La decodificación ocurre totalmente en tu navegador usando las API web atob y TextDecoder: el token, y cualquier secreto o clave pública que pegues para verificar una firma, nunca salen de tu dispositivo.
¿Puede esta herramienta verificar la firma?
Sí, como extra y sin garantías. Si conoces el secreto HMAC (para HS256/384/512) o pegas la clave pública codificada en PEM (para RS256/384/512 o ES256/384/512), la herramienta comprueba la firma localmente usando la API Web Crypto del navegador. Sin una clave, solo se decodifican y muestran el encabezado y el payload: decodificar nunca requiere la clave de firma.
¿Por qué dice que el algoritmo es "none"?
"alg": "none" significa que el token no está firmado en absoluto: cualquiera podría haber escrito cualquier claim en él. Algunas bibliotecas aceptaron históricamente estos tokens sin firmar como válidos, lo que se convirtió en una forma conocida de saltarse la autenticación. Esta herramienta siempre lo marca de forma destacada para que no se te pase.
¿Qué significan exp, iat y nbf?
Son los claims de marca de tiempo estándar de RFC 7519: iat indica cuándo se emitió el token, nbf el primer momento en que es válido, y exp cuándo deja de serlo. Los tres se almacenan como un NumericDate (segundos desde el epoch Unix), que esta herramienta convierte en una fecha legible y un tiempo relativo como "expira en 2 horas".
¿Por qué puedo leer el payload sin un secreto?
Porque el encabezado y el payload de un JWT solo están codificados en base64url, no cifrados: codificar no es lo mismo que ocultar. Cualquiera que tenga el token ya puede leer sus claims; la firma solo demuestra que no han sido alterados por alguien que no tiene la clave. Nunca pongas nada que no quieras que un atacante lea directamente dentro del payload de un JWT.
Mi token tiene 3 partes, pero aun así no se decodifica. ¿Por qué?
Cada uno de los tres segmentos (encabezado, payload, firma) debe ser texto base64url válido, y el encabezado y el payload deben decodificarse como JSON válido. Esta herramienta decodifica el encabezado y el payload de forma independiente y te dice exactamente cuál está roto y por qué (base64 incorrecto, UTF-8 incorrecto o JSON inválido), en lugar de simplemente fallar en silencio.
Para desarrolladores: abre esta página con un parámetro `token` en la URL (p. ej., gizke.com/jwt?token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c) y ese token se rellena automáticamente. La mayoría de los visitantes no lo necesitarán; está pensado para enlazar directamente a un ejemplo listo para usar.

Comparte esta herramienta

BlogAcerca deContactoTérminos de usoPolítica de privacidad