Decodificador y validador de JWT
Pega un JSON Web Token para leer su cabecera y su payload, ver cuándo se emitió y cuándo caduca, y verificar una firma HMAC con tu secreto compartido, todo sin que el token salga de tu máquina.
- Sin registro
- Funciona en tu navegador
- Funciona sin conexión
- No se sube nada
- Gratis
Un "Bearer " inicial se ignora. El token se queda en esta página.
Solo se usa para recalcular la firma en tu navegador.
Un JSON Web Token son tres partes codificadas en base64url y separadas por puntos: una cabecera que dice cómo se firmó, un payload de claims y una firma sobre las dos primeras. Las dos primeras partes están simplemente codificadas, no cifradas: cualquiera que tenga el token puede leerlas. La firma es lo que impide que se altere el contenido.
Por eso mismo pegar un token en producción en una web cualquiera es una mala costumbre. Muchos tokens son credenciales al portador: quien tenga uno puede actuar como el usuario que identifica hasta que caduque. Un decodificador que envía tu token a un servidor está entregando una llave que funciona. Este hace la descodificación en tu navegador, y la verificación HMAC también, usando la implementación WebCrypto del propio navegador.
Cómo usar esta herramienta
- Pega el token. Un
Beareral principio se elimina automáticamente, así que puedes pegarlo tal cual desde una cabecera Authorization. - Lee el resumen de claims. Emisor, sujeto, audiencia, hora de emisión y caducidad se descodifican y se muestran en tu zona horaria con un tiempo relativo en lenguaje llano.
- Fíjate en la línea de caducidad. Un token caducado se señala en rojo, y eso explica la mayoría de respuestas 401 inesperadas.
- Para un token HS256, HS384 o HS512, introduce el secreto compartido y pulsa verificar. La firma se recalcula en local y se compara.
- Copia el payload si lo necesitas en otro sitio.
Ejemplo práctico
Depurar un 401
Una API rechaza una y otra vez una petición. Pegas el token y el resumen de claims muestra que exp fue hace tres horas: el token caducó y el cliente no lo está renovando. Sin ida y vuelta al servidor y sin adivinar.
Confirmar un secreto de firma
Un servicio de staging rechaza los tokens que emite tu servicio. Pegas un token, introduces el secreto de tu configuración y la comprobación de firma falla: los dos entornos usan secretos distintos, que es todo el fallo.
Usos habituales
- Averiguar por qué una petición a una API devuelve 401 o 403
- Comprobar qué claims emite realmente tu proveedor de identidad
- Confirmar que dos entornos comparten el mismo secreto de firma
- Leer la caducidad de un token durante una incidencia
- Explicar el contenido de un token a alguien en una revisión de código
- Verificar un webhook firmado con una clave simétrica
Errores frecuentes
- Confundir descodificar con verificar — Cualquiera puede descodificar un JWT. Solo comprobar la firma demuestra que no se ha alterado: verifica siempre en el servidor antes de fiarte de un claim.
- Aceptar alg: none — Un token que declara
noneno está firmado. Un servidor que respete esa cabecera aceptará cualquier claim que le pongas. Esta herramienta lo señala en rojo. - Meter secretos en el payload — El payload está codificado, no cifrado. Todo lo que pongas ahí lo puede leer quien tenga el token.
- Confundir segundos con milisegundos —
exp,iatynbfson segundos desde la época. Pasar una marca de tiempo de JavaScript en milisegundos sitúa la caducidad unos cincuenta mil años en el futuro.
Preguntas frecuentes
¿Se envía mi token a algún sitio?
No. Descodificar es base64url más analizar JSON, y la comprobación HMAC usa el WebCrypto integrado en tu navegador. Las dos cosas ocurren en la página. No se transmite nada, y eso importa, porque un token en producción suele ser una credencial que funciona.
¿Por qué no puedo verificar un token RS256?
RS256 y ES256 usan claves asimétricas: verificar requiere la clave pública del emisor, que normalmente se descarga de un endpoint JWKS. Como esta página no hace ninguna petición de red, no puede descargar esa clave. Los tokens HMAC simétricos sí se pueden verificar porque el secreto lo aportas tú.
¿Qué significan los claims estándar?
iss es el emisor, sub el sujeto (normalmente el usuario), aud la audiencia prevista, iat cuándo se emitió, nbf el momento más temprano en que es válido y exp cuándo caduca. Los tres tiempos son segundos desde el 1 de enero de 1970 UTC.
El token se descodifica pero la firma falla, ¿por qué?
Casi siempre el secreto es incorrecto, tiene espacios al final o está codificado en base64 en tu configuración mientras aquí se usa en bruto. También puede ser una discrepancia de algoritmo, o un token alterado en tránsito, que es justo lo que la firma existe para detectar.
¿Es seguro pegar aquí un token de producción?
No sale de tu navegador, así que ninguna petición lo lleva. Dicho eso, la costumbre más segura con cualquier herramienta es usar un token caducado o de prueba siempre que puedas. Puedes verificar lo que decimos desconectando internet y comprobando que la página sigue funcionando.
¿Puedo descodificar un token cifrado (JWE)?
No. Esto maneja tokens firmados (JWS), que es lo que usa prácticamente cualquier API. Un token JWE cifrado tiene cinco partes en vez de tres y necesita la clave de descifrado.
Última actualización 2026-09-15