Toolivaro

Decodificador de JWT gratis

Decodifica el header, el payload y los claims de un JWT localmente — con verificación opcional de firma HMAC. Nada sale de tu navegador.

El decodificador de JWT lee los JSON Web Tokens que emiten y consumen tus APIs — la forma compacta header.payload.signature que usan OAuth 2.0, OpenID Connect e innumerables bibliotecas de autenticación — y los muestra como JSON legible y con formato: el header con su algoritmo e id de clave, el payload con sus claims, y el segmento de firma en bruto. La decodificación ocurre enteramente en tu navegador: la decodificación base64url y el análisis JSON son locales, así que la herramienta es segura incluso con tokens de producción que llevan identificadores de usuario reales, correos y detalles de sesión — nada se sube, registra ni almacena. Lo que este decodificador no hará es exagerar. Puede verificar una firma HMAC cuando pegas el secreto: la herramienta calcula el HMAC con WebCrypto e informa Firma válida o Firma inválida, para que confirmes que un token fue firmado de verdad con el secreto que tienes y no ha sido manipulado en tránsito. Esa comprobación es honesta sobre su alcance: solo HS256, HS384 y HS512 se pueden verificar con un secreto compartido en el navegador. Los tokens asimétricos — RS256, ES256, PS256 y sus hermanos — son la norma en producción, y verificarlos requiere la clave pública del firmante, que una herramienta del lado cliente no puede obtener por ti; el decodificador dice exactamente eso en lugar de adivinar. Los tokens con alg=none, la configuración famosamente insegura, se marcan como sin proteger y sin firma. Los claims de expiración y emisión (exp, iat, nbf) aparecen en su forma epoch en bruto dentro del JSON del payload, exactamente como el token los lleva — la herramienta no convierte ni interpreta, porque la conversión silenciosa es donde los decodificadores mienten. Pega un token de tus registros, de tu inspector de red o de tus pruebas y léelo como lo leería el servidor.

Se procesa localmente en tu navegador

Pega el token completo — header.payload.signature.

Verifica firmas HS256/384/512 localmente — el secreto nunca sale de tu navegador.

¿Cómo se calcula el resultado?

Leer un token de ID de tus registros

Los registros de acceso de tu servicio contienen un token como el ejemplo de RFC 7515 — un header que declara HS256, un payload con un subject, un nombre y un tiempo de emisión, y un segmento de firma. Decodifícalo para leer los claims como lo haría el servidor, y luego pega el secreto compartido para confirmar que la firma realmente coincide — un sub manipulado o un iat caducado se muestra como Firma inválida.

Entrada y resultado del ejemplo
Entrada Valor
Token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Secreto HMAC (opcional) your-256-bit-secret
Resultado {"sub":"1234567890","name":"John Doe","iat":1516239022} — Firma válida

¿Cuál es la fórmula y sus supuestos?

Serialización compacta JWT

JWT = base64url(header) + "." + base64url(payload) + "." + base64url(firma)

Términos de la fórmula
Símbolo Significado
header el header JSON: alg, typ y a menudo kid — el algoritmo de firma y el id de clave
payload los claims JSON: registrados (sub, iat, exp, nbf, iss, aud) más claims personalizados
base64url base64 con caracteres seguros para URL (- y _) y sin relleno

RFC 7519 §3.1. La herramienta decodifica los segmentos con base64url y muestra el JSON con formato; nunca reordena ni interpreta claims.

Verificación de firma HMAC

válida = verify(HMAC-{SHA-256|384|512}(secreto), base64url(header.payload), firma)

Términos de la fórmula
Símbolo Significado
secreto el secreto HMAC compartido que pegas — solo se usa en el navegador, nunca se envía
base64url(header.payload) la entrada de firma: los dos primeros segmentos exactamente como el token los lleva
firma el tercer segmento, decodificado a los bytes MAC en bruto

crypto.subtle.verify realiza una comparación en tiempo constante, así que un desajuste nunca filtra tiempos. Los algoritmos asimétricos necesitan la clave pública del firmante y se informan como no verificables localmente.

¿Cuáles son los errores más comunes?

  • Confiar en un token porque se decodifica — decodificar muestra los claims, no quién los firmó; solo una comprobación de firma válida prueba el origen, y solo para tokens HMAC con el secreto correcto.
  • Asumir que los tokens alg=none eran «inofensivos de decodificar» — no están firmados y cualquier biblioteca que los acepte debe rechazarlos.
  • Pegar tokens de producción en decodificadores online que los suben — esta herramienta es totalmente local; muchos servicios web se quedan con tu token y tus claims.

¿Cuáles son los supuestos y las limitaciones?

  • La verificación de firma cubre solo HMAC (HS256/384/512) — los tokens asimétricos se informan como no verificables localmente.
  • Los claims se muestran en bruto (segundos epoch para exp/iat/nbf); la herramienta no los convierte.
  • Los tokens de acceso opacos no son JWT y no se pueden decodificar.

¿De dónde salen los números?

Última revisión 12 de agosto de 2026 · Versión 1.0.0 · Toolivaro no garantiza el contenido externo.

Preguntas frecuentes

¿Se sube mi token a algún sitio?

No. La decodificación y la verificación de firma corren enteramente en tu navegador con WebCrypto — no se hace ninguna petición de red con tu token ni tu secreto. Eso hace segura la herramienta incluso con tokens de producción que llevan claims de usuarios reales.

¿Por qué no puedes verificar tokens RS256?

RS256 y las demás familias asimétricas se verifican con la clave pública del firmante, que vive en el endpoint JWKS del emisor — una herramienta del lado cliente no tiene forma confiable de obtener y confiar en esa clave por ti. El decodificador informa esos tokens como no verificables localmente en lugar de fingir un resultado. Los tokens HMAC (HS256/384/512) solo necesitan el secreto compartido, así que esos se comprueban cuando lo proporcionas.

¿Qué significa cuando un token dice alg=none?

alg=none declara que el token no fue firmado en absoluto. Las bibliotecas que aceptan none son el origen de infames evasiones de autenticación. El decodificador marca esos tokens como sin proteger, sin segmento de firma que comprobar.

¿Por qué exp e iat se muestran como números en bruto?

Porque así los lleva el token — segundos epoch NumericDate según RFC 7519. La herramienta no convierte ni interpreta claims en silencio: la conversión silenciosa es donde los decodificadores mienten, y el valor en bruto es la verdad que ve el servidor.

¿Puede esta herramienta decodificar tokens de acceso de OAuth 2.0?

Solo si son JWT. Muchos proveedores (Okta, Auth0, Azure AD) emiten tokens de acceso JWT, y esos se decodifican aquí. Los tokens opacos — cadenas aleatorias que solo son identificadores — no tienen JSON dentro y no son JWT; ningún decodificador puede convertirlos en claims.

Parte de Herramientas de contraseñas, hash y seguridad

¿Encontraste un error o tienes una corrección? Repórtalo: revisamos cada corrección.

¿Te ha sido útil?

Revisado por el equipo editorial de Toolivaro según nuestra metodología Metodología · Política editorial