Saltar al contenido

Decodificador de JWT – Lee un JSON Web Token

Pega un JWT para ver su cabecera, sus claims y cuándo caduca, en JSON fácil de leer. El token se decodifica en tu dispositivo y nunca se envía a ningún lado.

Funciona por completo en tu navegador. Nada de lo que pegas se envía a ningún lado.

Cómo decodificar un JWT

  1. Pega tu token en el recuadro JSON Web Token, o presiona Probar con un ejemplo para cargar un token de muestra inofensivo.
  2. Fíjate en los colores. El token se muestra dividido en cabecera, payload y firma, cada parte de un color, para que veas dónde empieza cada una.
  3. Lee la cabecera y el payload como JSON formateado. Usa el botón de copiar junto a cada bloque para llevarte el JSON.
  4. Revisa las fechas del token. Caduca (exp), Emitido (iat) y Válido desde (nbf) se convierten en fechas legibles, con una etiqueta de estado: Vigente, Caducado, Todavía no es válido o Sin fecha de caducidad.

Características

  • Decodificación instantánea mientras pegas, sin botones que presionar.
  • Cabecera y payload como JSON con formato, cada uno con su botón de copiar.
  • Fechas legibles para los claims exp, iat y nbf, con un estado de caducidad claro.
  • Acepta el prefijo Bearer, así que puedes pegar el valor de una cabecera Authorization tal cual.
  • Avisa cuando aparece alg none, un token sin firma en el que nunca se debe confiar.
  • Mensajes de error claros para un token con un número incorrecto de partes, Base64URL no válido, JSON no válido o un JWE cifrado de cinco partes.
  • Compatible con Unicode, así que los nombres con acentos o eñes y los claims en cualquier alfabeto se ven bien.

Por qué usar el decodificador de JWT de Fileora

Los tokens de acceso, los tokens de identidad y los tokens de actualización son credenciales. Pegarlos en un sitio web que los manda a un servidor es un riesgo real, porque cualquiera que tenga un token válido puede actuar como ese usuario hasta que caduque. Fileora decodifica el token con JavaScript en tu navegador, así que el token nunca sale de tu dispositivo y no se registra nada sobre él.

La herramienta es gratis, no pide registro y no tiene límites. Funciona en el celular igual que en la computadora, algo útil cuando revisas un token de una app móvil o de un ticket de soporte.

Cómo está hecho un JWT

Un JWT firmado son tres fragmentos de texto unidos por puntos: header.payload.signature. La cabecera y el payload son objetos JSON codificados en Base64URL, una variante de Base64 segura para usar en URL. Esa codificación no es un cifrado: cualquiera que tenga el token puede leer todos sus claims, que es justo lo que hace esta herramienta.

La cabecera indica el algoritmo de firma en alg, por ejemplo HS256 (un secreto compartido) o RS256 (un par de claves privada y pública). El payload lleva los claims: sub para el usuario, iss para el emisor, aud para el destinatario previsto y los claims de tiempo exp, iat y nbf, que se cuentan en segundos desde 1970.

La firma es lo que hace confiable al token. Tu servidor la vuelve a calcular a partir de la cabecera y el payload con su clave, y rechaza el token si el resultado no coincide, si alg no es uno de los que espera o si ya pasó la fecha de exp. Como cualquiera puede crear un token con el payload que quiera, verifica siempre la firma en tu servidor con la clave secreta o la clave pública antes de confiar en un solo claim. Un decodificador como este sirve para leer y depurar, no para decidir quién inició sesión.

Dos consejos: nunca pongas contraseñas ni otros secretos en un payload, porque cualquiera lo puede leer, y usa tiempos de caducidad cortos. Si necesitas un secreto de firma largo y aleatorio, el generador de contraseñas puede crear uno, y el formateador JSON te ayuda a ordenar un payload que estés armando a mano. Para decodificar a mano una sola parte del token, la herramienta de Base64 acepta también el alfabeto Base64URL.

Preguntas frecuentes

¿Cómo decodifico un JWT?

Pega el token en el recuadro. Un token válido se separa al instante en sus tres partes: la cabecera y el payload aparecen como JSON formateado, y los claims exp, iat y nbf se muestran como fechas normales con un estado como Caducado o Vigente. Puedes pegar el valor completo de la cabecera Authorization, porque el prefijo Bearer se quita solo.

¿Esta herramienta verifica la firma del token?

No, y es a propósito. Para comprobar una firma hace falta la clave secreta o la clave pública del emisor, y esas claves deben estar en tu servidor, no en una página web. Decodificar solo lee las partes del token que cualquiera puede leer. Toma lo que ves aquí como información para depurar, nunca como prueba de que el token es auténtico.

¿Es seguro pegar aquí un token de acceso real?

El token lo decodifica JavaScript en tu propio navegador y no se sube, registra ni guarda. Aun así, un token de acceso vigente funciona como una contraseña mientras sea válido, así que lo más prudente es pegar tokens caducados o de prueba cuando puedas y no compartir capturas de pantalla de tokens activos.

¿Por qué dice que el token está caducado?

El claim exp guarda la hora de caducidad en segundos desde el 1 de enero de 1970 (UTC). La herramienta la compara con el reloj de tu dispositivo en el momento en que pegaste el token. Si tu reloj está mal, el estado también lo estará, así que revisa la fecha exacta que aparece en Caduca si el resultado te sorprende.

¿Qué significa el aviso sobre alg none?

Una cabecera con alg igual a none indica que el token no tiene ninguna firma, así que cualquiera pudo haber escrito su contenido. Algunas bibliotecas antiguas aceptaban esos tokens por error, lo que permitía a los atacantes falsificar inicios de sesión. Tu servidor siempre debe rechazarlos, y la herramienta muestra un aviso cada vez que encuentra uno.

¿Por qué no puede leer mi token de cinco partes?

Un token con cinco partes separadas por puntos es un JWT cifrado, conocido como JWE. Su contenido es texto cifrado, así que solo lo puede leer quien tiene la clave de descifrado. Esta herramienta lee tokens firmados (JWS), que tienen tres partes.

¿No encuentras la herramienta que necesitas o algo no funciona?

Cuéntanos qué herramienta te gustaría o qué salió mal. Leemos todos los mensajes, y las solicitudes deciden lo próximo que construimos.

Abre tu app de correo. Por favor, no adjuntes archivos privados.