Decodificador JWT (Encabezado, Carga Útil, Token)
Inspecte instantáneamente el contenido de JWT. Vea reclamos, roles y fechas de vencimiento en un formato legible por humanos sin claves secretas.
Decodifica el encabezado y la carga útil de JWT con manejo de base64url y marcas de tiempo de reclamo legibles por humanos.
Decodifique JWTs (JSON Web Tokens) genéricos localmente para inspeccionar sus encabezados y cargas útiles. Esta herramienta analiza las secciones codificadas en Base64Url de su token y muestra el JSON decodificado, lo que facilita verificar roles de usuario, permisos o tiempos de vencimiento (`exp`). Maneja el formato automático de marcas de tiempo para que realmente pueda leer las fechas, todo sin enviar nunca sus tokens confidenciales a un servidor backend.
Como se mantiene esta pagina
- Los pasos y la copia se comprueban contra el comportamiento actual de la herramienta.
- Los limites del navegador, tamano de archivo o compatibilidad se documentan cuando importan.
- Salvo que se indique lo contrario, los archivos y textos se procesan localmente en el navegador.
Inspeccionando JSON Web Tokens
JWT (JSON Web Tokens) son el estándar para la autenticación moderna sin estado. Permiten a los servidores verificar la identidad de un usuario sin almacenar datos de sesión en una base de datos.
Anatomía de un JWT:
Un token consta de tres partes separadas por puntos (.):
- Encabezado (Header): Describe el algoritmo de firma (por ejemplo, HS256).
- Carga útil (Payload/Claims): Los datos en sí. Contiene declaraciones como
sub(sujeto),name,admin: trueyexp(expiración). - Firma (Signature): La cadena de verificación creada por el servidor para evitar manipulaciones.
Seguridad primero:
Los JWT están codificados en Base64Url, lo que significa que cualquiera con el token puede leer el contenido. Nunca pongas datos sensibles como contraseñas dentro de un JWT. Esta herramienta te ayuda a depurar qué declaraciones está enviando tu aplicación.
Cómo leer el contenido de un JWT sin la clave secreta
Un JWT tiene tres partes separadas por puntos: cabecera, carga útil y firma. Las dos primeras son JSON codificado en Base64Url, de modo que se pueden leer sin conocer la clave con la que se firmó el token. Esto es exactamente lo que hace el decodificador al pegar el token, y conviene interiorizarlo: firmar no es cifrar. La firma demuestra que el emisor es quien dice ser, pero no oculta el contenido.
Un ejemplo con fechas reales
Pega este token de prueba y podrás seguir el proceso completo. Su primera parte decodifica al objeto con alg HS256 y typ JWT; la segunda produce un JSON con las declaraciones sub con el valor 42, name con Ana y exp con 1700000000. El decodificador convierte ese número a una fecha legible, el 14 de noviembre de 2023 a las 22:13 UTC, y hace lo mismo con las declaraciones nbf e iat cuando existen. La tercera parte, la firma, se muestra en crudo porque no se puede verificar sin la clave del servidor: esta herramienta decodifica, no valida.
El error que explica la mitad de los 401
Una confusión muy común al depurar es comparar exp con la hora en milisegundos de JavaScript. Las declaraciones de tiempo de un JWT van en segundos desde 1970, así que hay que multiplicarlas por mil. Cuando esa cuenta se hace mal, el servidor rechaza un token perfectamente válido por caducado. Ver la fecha de expiración ya convertida a formato legible es la forma más rápida de descartar esa causa. Para el resto de códigos de error, revisa la cabecera y el payload que se muestran arriba.
Lo que nunca deberías pegar aquí
El panel descodifica cualquier token en el navegador y no lo envía a ningún servidor, pero eso no convierte un token de producción en material de prueba: dentro viajan identificadores, roles y permisos. Lo sensato es generar un token ficticio con la misma estructura o recortar los valores sensibles antes de analizarlo. Si además necesitas extraer una de las partes codificadas, puedes hacerlo con el decodificador Base64.
Funciones clave
- Marcas de Tiempo Legibles: Los reclamos estándar como `exp` (vencimiento), `iat` (emitido en) y `nbf` (no antes de) se convierten automáticamente de marcas de tiempo Unix a cadenas de fecha locales.
- Decodificación Segura del Lado del Cliente: Sus tokens se decodifican utilizando instrucciones de implementación de JavaScript directamente en su navegador. No se requieren claves privadas y ningún dato sale de su pestaña.
- Estructura Codificada por Colores: Distingue visualmente el Encabezado (algoritmo), la Carga Útil (datos) y la Firma para ayudarle a comprender la estructura del token de un vistazo.
Preguntas frecuentes
¿Valida esto la firma?
No. Esta herramienta es un “decodificador”, no un “validador”. Le muestra lo que hay dentro del token, pero no verifica su integridad criptográfica sin la clave secreta.
¿Es seguro pegar tokens reales?
Sí, porque el procesamiento es 100% local. Sin embargo, como mejor práctica, evite pegar tokens de producción con PII confidencial en cualquier interfaz de terceros.
¿Qué pasa si el token es inválido?
La herramienta intentará decodificar cualquier parte que sea JSON válido. Si la cadena Base64 está malformada, verá un mensaje de error indicando que el token está corrupto.