Decodificador y verificador de JWT

Pega un token web JSON para examinar su encabezado y su carga útil, comprobar cuándo caduca y verificar su firma. La decodificación se realiza de forma local: tu token nunca sale del navegador.

Actualizado el
🔒 Tu token se descodifica y se verifica localmente en tu navegador. Nunca se envía a un servidor, ni se registra ni se almacena.
Encabezado
Carga útil

Reclamaciones

Verificar firma (opcional)

Tus datos nunca salen de tu ordenador. Todo se procesa localmente en tu navegador.

Cómo usar: Decodificador JWT

  1. Pega un JWT (con o sin el Bearer prefijo) en el cuadro «Token codificado» o haz clic en «Cargar ejemplo».
  2. Lee el encabezado y la carga útil descodificados; las etiquetas indican el algoritmo y si el token ha caducado.
  3. Echa un vistazo a la tabla «Claims» para ver los datos en formato legible exp, iat y nbf en tu zona horaria local.
  4. Si quieres, puedes verificar la firma: introduce el secreto compartido para HS256/384/512 o pega la clave pública (PEM o JWK) para los tokens RS, PS, ES y EdDSA.

¿Qué es un JWT?

Un JSON Web Token (JWT, que se pronuncia «jot», definido en el RFC 7519) es una cadena compacta y segura para URL que se usa para transmitir reclamaciones entre partes —sobre todo como token de acceso o token de identificación en OAuth 2.0 y OpenID Connect—, y que se envía en un Authorization: Bearer … encabezado. Se compone de tres partes codificadas en Base64URL y separadas por puntos:

  1. Encabezado: JSON que describe el token, p. ej., {"alg":"HS256","typ":"JWT"}.
  2. Carga útil: JSON con las afirmaciones: quién es el usuario, qué puede hacer y cuándo caduca el token.
  3. Firma: calculada a partir de header.payload una clave secreta o privada, por lo que cualquier cambio en las dos primeras partes lo invalida.

Importante: el encabezado y la carga útil solo están codificados, no cifrados. Cualquiera que tenga el token puede leerlos, que es justo lo que hace este decodificador. Nunca pongas secretos ni datos personales sensibles en la carga útil de un JWT. (Existen tokens cifrados —JWE, con cinco partes—, pero su carga útil solo se puede leer con la clave de descifrado.)

Reclamaciones registradas

ReclamaciónNombreSignificado
issEmisorQuién emitió el token (p. ej., la URL de tu servidor de autenticación)
subSujetoEl usuario o la entidad a la que representa el token
audDestinatariosLas API que deben aceptar el token
expCaducidadTiempo Unix tras el cual hay que rechazar el token
nbfNo antes deTiempo Unix antes del cual el token no es válido
iatEmitido elTiempo Unix en el que se creó el token
jtiID de JWTID único, útil para evitar la repetición

Las reclamaciones de tiempo se expresan en segundos desde el 1 de enero de 1970 UTC —no en milisegundos, un error habitual al generar tokens en JavaScript con Date.now(). El decodificador las convierte en fechas legibles; para otras marcas de tiempo, usa el conversor de marcas de tiempo de Unix.

Algoritmos de firma

HS256/384/512 usan HMAC con un secreto compartido: la misma clave firma y verifica, así que cualquier verificador también puede acuñar tokens. RS256 (RSA), PS256 (RSA-PSS), ES256 (ECDSA P-256) y EdDSA usan una clave privada para firmar y una clave pública para verificar; es la mejor opción cuando varios servicios deben validar los tokens. Los proveedores de identidad publican sus claves públicas como un archivo JWKS en una URL como /.well-known/jwks.json; puedes pegar ese JSON aquí y se seleccionará la clave que coincida con la del token kid queda seleccionada. La verificación utiliza la API Web Crypto del navegador.

Lista de comprobación de seguridad

  • Verifica siempre la firma en el servidor: la simple decodificación no prueba nada.
  • Rechaza alg: none y fija los algoritmos que esperas, para evitar ataques de confusión de algoritmos.
  • Comprueba exp, nbf, iss y aud, permitiendo solo un pequeño desfase de reloj.
  • Para HS256, usa una clave secreta aleatoria de al menos 256 bits; el generador de contraseñas puede crear una.

También se busca como: depurador de jwt, decodificar jwt, token web json, analizador de jwt, verificar jwt, caducidad del jwt, decodificador de tokens portadores, jwt io.

Herramientas que combinan con: Decodificador JWT

  • PKCE Generator — Test or debug an OAuth 2.0 / OpenID Connect login with PKCE.
  • Codificación y descodificación Base64 — Convierte texto a Base64 y viceversa con compatibilidad total con UTF-8 (acentos, emojis), cambia a Base64 compatible con URL o arrastra un archivo para obtener su cadena Base64 o su URI de datos.
  • Hash Generator — Compute MD5 and SHA hashes of any text or file instantly, create HMAC signatures, and paste an expected checksum to verify a download.
  • Formateador JSON — Pega el código JSON para formatearlo, minimizarlo o validarlo.

Preguntas frecuentes

¿Es seguro pegar mi JWT aquí?
La decodificación y la verificación se realizan íntegramente en tu navegador: el token no se envía a ningún servidor, ni se almacena, ni se incluye en la URL. Aun así, trata los tokens de producción como si fueran contraseñas: utiliza preferentemente tokens caducados o de prueba, y nunca compartas los que están activos.
¿Se puede descodificar un JWT sin el secreto?
Sí. El encabezado y la carga útil son simplemente JSON codificado en Base64URL, que cualquiera puede leer. El secreto o la clave solo se necesitan para verificar la firma, es decir, para demostrar que el token es auténtico y no ha sido modificado.
¿Cómo puedo comprobar si un JWT ha caducado?
Fíjate en la exp información: una marca de tiempo de Unix en segundos. Esta herramienta la compara con el reloj de tu dispositivo y muestra una insignia que dice «Caducado» o «No caducado», además de la hora exacta en tu zona horaria.
¿Cuál es la diferencia entre HS256 y RS256?
HS256 usa un secreto compartido tanto para firmar como para verificar (HMAC simétrico). RS256 firma con una clave privada RSA y verifica con la clave pública (asimétrico), así que los verificadores no pueden crear tokens.
¿Por qué falla la verificación aunque el secreto sea el correcto?
Comprueba si el secreto está almacenado codificado en Base64 (marca la opción), si hay espacios o saltos de línea de más, y que el token no haya sido modificado; basta con que cambie un solo carácter en el encabezado o en la carga útil para que la firma deje de ser válida.
¿Puedo instalar Decodificador JWT como aplicación web y utilizarla sin conexión?
Sí. Decodificador JWT es una aplicación web instalable (PWA): se instala desde el navegador, no se descarga desde una tienda de aplicaciones. Haz clic en «Instalar aplicación» en la parte superior de esta página en Chrome o Edge (Windows, macOS, Linux, ChromeOS) o, en Android, utiliza «Compartir» → «Añadir a la pantalla de inicio» en iPhone y iPad, o «Archivo» → «Añadir al Dock» en Safari 17+ en un Mac. A continuación, se abrirá en su propia ventana con su propio icono y, como se ejecuta íntegramente en tu navegador, seguirá funcionando sin conexión. Firefox en el ordenador de sobremesa no permite instalar aplicaciones web. Cómo funciona la instalación.

Herramientas relacionadas