redzilla
Todas las herramientas
Seguridad

Decodificador JWT

Pega un JWT y muestro su header y payload decodificados, el algoritmo de firma y los claims (iss, sub, aud, exp, iat, nbf) con fechas legibles y estado de expiración. El token nunca sale de tu navegador.

Estructura header.payload.signature en Base64URL. Se decodifica localmente.

Solo firmas HS* (HMAC). Se comprueba en tu navegador con Web Crypto. Las firmas RS*/ES* no se verifican aquí.

redzilla.cl — jwt
 
Estado
pega un token para decodificar
Algoritmo
firma no verificada
alg
typ
sub
exp

Header

Payload

Claims registrados

ClaimValorSignificado
Sin claims que mostrar todavía.
Cómo funciona · anatomía de un JWT

1. Un JWT tiene tres partes separadas por puntos: header.payload.signature. Header y payload son JSON codificado en Base64URL (variante URL-safe: +-, /_, sin relleno =).

2. El header declara el algoritmo de firma (alg) y el tipo (typ). El payload lleva los claims: datos como sub (sujeto), iss (emisor) o exp (expiración).

3. Las fechas exp, iat y nbf son epoch en segundos (Unix). Aquí las convierto a fecha y hora legibles y comparo exp con la hora actual para marcar el token como vigente o expirado.

4. Decodificar no es verificar. Cualquiera puede leer el payload; la firma es lo que garantiza que no fue alterado. Solo se valida si pegas el secreto HS*. Nunca confíes en un token sin verificar su firma en el servidor.

Decodificación local en tu navegador · sin registro · el token no se envía a ningún servidor.

¿Cómo funciona?

El decodificador toma un JSON Web Token (RFC 7519) con su estructura de tres partes header.payload.signature y decodifica localmente las dos primeras, que son JSON en Base64URL (la variante URL-safe de Base64: +-, /_, sin relleno =). Muestra el algoritmo de firma (alg) y el tipo (typ) del header, el payload completo con formato, y los claims registrados (iss, sub, aud, exp, iat, nbf) con sus fechas epoch convertidas a hora legible.

Además compara exp con la hora actual para marcar el token como vigente o expirado. Importante: decodificar no es verificar; cualquiera puede leer un payload JWT. Si el token está firmado con HMAC (HS256/384/512) puedes pegar el secreto y la herramienta comprueba la firma en tu navegador con Web Crypto; las firmas asimétricas (RS*/ES*) no se verifican aquí y siempre deben validarse en el servidor.

Ejemplo: leer el token de prueba clásico

  1. Pega un token como eyJhbGciOiJIUzI1NiIs… (el botón Cargar ejemplo trae uno).
  2. El header decodificado muestra { alg: HS256, typ: JWT } y el payload { sub: 1234567890, name: John Doe, iat: 1516239022 }.
  3. El claim iat (emitido en) se traduce del epoch 1516239022 al 18 de enero de 2018 (UTC); como no trae exp, no se marca expiración.
  4. Si pegas el secreto HS256 correcto, la firma se valida localmente y el estado cambia a firma verificada.

Preguntas frecuentes

¿Es seguro pegar un JWT de producción en un decodificador online?
En esta herramienta sí, porque el token se decodifica por completo en tu navegador y nunca se envía a ningún servidor. Aun así, un JWT vigente equivale a una credencial: evita compartirlo por chat o correo, y prefiere decodificar tokens ya expirados cuando solo necesitas revisar su estructura.
¿Qué diferencia hay entre decodificar y verificar un JWT?
Decodificar es solo deshacer el Base64URL: cualquiera puede hacerlo, porque el payload no va cifrado. Verificar es comprobar la firma criptográfica con el secreto (HS*) o la clave pública (RS*/ES*), y es lo único que garantiza que el token no fue alterado. Un backend nunca debe confiar en claims sin verificar la firma.
¿Cómo sé si mi token JWT está expirado?
El claim exp indica el momento de expiración como epoch Unix en segundos. La herramienta lo convierte a fecha legible y lo compara con la hora actual de tu equipo: si exp ya pasó, marca el token como expirado. También muestra nbf (no válido antes de) e iat (emitido en) cuando existen.
¿Por qué la herramienta no verifica firmas RS256 o ES256?
Porque las firmas asimétricas se validan con la clave pública del emisor, que normalmente se obtiene de un endpoint JWKS del proveedor de identidad, y ese flujo corresponde al servidor. Aquí solo se verifica HMAC (HS256/384/512) de forma local con Web Crypto, útil para depurar tokens propios de desarrollo.
¿Te fue útil esta herramienta?
Disclaimer Cuidamos la precisión de cada herramienta y la revisamos a conciencia; aun así, no podemos garantizar que esté libre de errores ni responsabilizarnos por el uso de sus resultados. Te sugerimos verificar siempre los datos críticos.
Si encuentras un error, avísanos →