jwtjson web tokenautenticacionseguridad

Qué es un JWT y cómo decodificarlo (guía para desarrolladores)

Entiende los JSON Web Tokens: estructura header.payload.signature, claims, cómo decodificar un JWT y por qué nunca deben guardar datos sensibles.

21 de junio de 2026·6 min de lectura

Si trabajas con APIs o autenticación, te habrás topado con cadenas largas que empiezan por eyJ.... Son JWT (JSON Web Tokens), el estándar más usado para autenticar peticiones. Esta guía explica cómo están construidos, cómo decodificarlos y qué debes y no debes meter dentro.

Qué es un JWT

Un JWT es un token compacto que transporta información (claims) entre dos partes de forma verificable. Se usa sobre todo para autenticación: cuando inicias sesión, el servidor te da un JWT, y tú lo envías en cada petición para demostrar quién eres, sin que el servidor tenga que guardar tu sesión.

La estructura: tres partes

Un JWT tiene tres partes separadas por puntos: header.payload.signature.

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMiLCJuYW1lIjoiQW5hIn0.X3k...

1. Header (cabecera)

Indica el algoritmo de firma y el tipo. Codificado en Base64URL:

{ "alg": "HS256", "typ": "JWT" }

2. Payload (carga)

Contiene los claims: los datos del token. También en Base64URL:

{ "sub": "123", "name": "Ana", "exp": 1735689600 }

Claims estándar habituales: sub (sujeto/usuario), exp (expiración), iat (emitido en), iss (emisor).

3. Signature (firma)

Es lo que hace al token verificable. Se calcula firmando el header y el payload con una clave secreta. Si alguien modifica el payload, la firma deja de coincidir y el token se rechaza.

El punto clave: decodificar ≠ verificar

Aquí está el malentendido más peligroso. El header y el payload NO están cifrados, solo codificados en Base64. Cualquiera puede decodificarlos y leer su contenido. La firma no oculta nada: solo garantiza que nadie lo ha modificado.

Consecuencia directa: nunca pongas datos sensibles en el payload de un JWT (contraseñas, datos personales privados, números de tarjeta). Cualquiera que tenga el token puede leerlos.

Cómo decodificar un JWT

Decodificar un JWT es separar sus partes y pasar el header y el payload de Base64URL a JSON legible:

  1. Pega el token completo.
  2. La herramienta separa por los puntos.
  3. Decodifica header y payload y los muestra como JSON.
  4. Puedes ver los claims, la expiración, el algoritmo…

Puedes hacerlo gratis con el decodificador de JWT de esta web, que decodifica todo en tu navegador: el token nunca se sube a ningún servidor (importante, porque un JWT es una credencial).

Errores comunes con JWT

  • Guardar datos sensibles en el payload: es legible por cualquiera.
  • No comprobar la expiración (exp): un token caducado debe rechazarse.
  • Confiar en un token sin verificar la firma en el servidor: decodificar no es validar.
  • Guardar el JWT en localStorage sin pensar en XSS: valora cookies httpOnly según tu caso.

Preguntas frecuentes

¿Un JWT está cifrado? No por defecto. Está firmado y codificado en Base64, pero su contenido es legible. (Existe JWE para cifrarlo, pero es menos común.)

¿Puedo confiar en lo que leo al decodificarlo? Para ver el contenido sí; para confiar en él, el servidor debe verificar la firma con la clave secreta.

¿Es seguro pegar mi JWT en un decodificador online? Solo si decodifica en local. Un JWT es una credencial activa; no lo pegues en webs que lo envíen a un servidor.

¿Qué algoritmo de firma usar? HS256 (clave simétrica) para casos simples; RS256 (par de claves) cuando varios servicios verifican tokens emitidos por otro.


Decodifica e inspecciona tus tokens al instante con el decodificador de JWT gratis, 100% en tu navegador y sin que el token salga de tu dispositivo.

Pruébalo sin código

Decodificador JWT

Decodifica tokens JWT al instante.

Abrir Decodificador JWT

Hecho por

Miguel Ángel Colorado Marin (MACM)

Full-Stack Developer · Guadalajara, España

Desarrollo aplicaciones web, herramientas digitales y proyectos completos — desde el diseño hasta el despliegue.

Contáctame