Saltar al contenido
MyDevToolbox

Decodificador JWT

En el navegador

Inspecciona el header, payload y firma de un JSON Web Token.

Se ejecuta 100% en tu navegador · Las entradas se guardan solo en este navegador, si lo permites

Pega un token para decodificarlo.

¿Qué es un JSON Web Token?

Un JSON Web Token (JWT, definido en el RFC 7519) es una cadena compacta y segura para URLs que se usa para transferir claims (afirmaciones) entre dos partes. Es el formato más habitual para los access tokens de OAuth 2.0 y OpenID Connect, y para los tokens de sesión sin estado en APIs REST. Un JWT firmado tiene tres partes codificadas en base64url y separadas por puntos:

  • Header – el tipo de token y el algoritmo de firma, por ejemplo {"alg":"HS256","typ":"JWT"}.
  • Payload – los claims: quién es el usuario, qué puede hacer y cuándo expira el token.
  • Firma – la prueba de que el header y el payload los emitió alguien que posee la llave y de que no han sido modificados.

Decodificar no es lo mismo que verificar

El header y el payload solo están codificados, no cifrados: cualquiera que tenga un token puede leerlo. Este decodificador muestra su contenido al instante, traduce las marcas de tiempo exp, iat y nbf a fechas legibles e indica si el token ha expirado. Sin embargo, para confiar en un token también debes verificar su firma. Introduce el secreto compartido para tokens HMAC (HS256, HS384, HS512) o la llave pública PEM para tokens RSA y ECDSA (RS256, PS256, ES256 y sus variantes) y la herramienta la comprobará con la API Web Crypto de tu navegador.

Privado por diseño

Los tokens suelen dar acceso a sistemas reales, así que todo ocurre localmente en tu navegador: no se envía nada a nuestros servidores. El token que pegas se recuerda en localStorage por comodidad (usa Limpiar Datos para eliminarlo), mientras que los secretos y las llaves nunca se guardan.

Ejemplos prácticos

Depurar una respuesta 401 Unauthorized

Copia el valor de la cabecera Authorization: Bearer … desde la pestaña de red de tu navegador y pégalo aquí (el prefijo Bearer se elimina automáticamente). Comprueba si exp está en el pasado, si el claim aud coincide con tu API y si el iss es el proveedor de identidad que esperas.

Leer un token desde la línea de comandos

$ echo "$TOKEN" | cut -d. -f2 | base64 -d 2>/dev/null

Sirve para revisiones rápidas, pero no maneja el relleno de base64url ni verifica nada, algo que esta herramienta hace por ti.

Consejos de seguridad

  • Nunca incluyas contraseñas ni datos personales en el payload: cualquiera puede leerlo.
  • Rechaza los tokens con alg: none y fija los algoritmos que acepta tu servidor.
  • Usa expiraciones cortas y refresh tokens para las sesiones de larga duración.