¿Qué herramienta necesitas?

Decodificador JWT

Decodifique JSON Web Tokens para inspeccionar encabezados y cargas útiles.

Token Codificado
ENCABEZADO (Algoritmo y Tipo de Token)
VERIFICAR FIRMA
La firma aparecerá aquí.
CARGA ÚTIL (Datos)
Toda la decodificación se realiza en el cliente y nunca se envía a un servidor.

¿Qué es un JSON Web Token (JWT) y por qué usar un decodificador?

Un JSON Web Token (JWT) es un medio compacto y seguro para URL de representar información ("claims") que se transfiere entre dos partes. Un JWT consta típicamente de tres partes separadas por puntos (.): el Encabezado, la Carga Útil (Payload) y la Firma. Dado que los JWT están codificados en Base64Url, no están cifrados por defecto; cualquiera que pueda ver el token puede ver los datos que contiene. Por eso, un decodificador JWT es esencial durante el desarrollo: permite a los ingenieros verificar rápidamente la información del usuario y los permisos. ProUtil ofrece un entorno seguro en el lado del cliente para realizar esta inspección sin riesgos de privacidad.

Cómo inspeccionar y depurar JSON Web Tokens

1

Asegure su Token: Copie la cadena JWT completa de su cabecera de autorización.

2

Entrada de Token: Pegue la cadena codificada en el campo de "Token Codificado".

3

Análisis de Encabezado: Identifique el algoritmo de firma (ej., HS256 o RS256).

4

Inspección de Carga Útil: Revise los atributos del usuario, emisor (iss) y expiración (exp).

5

Verifique la Expiración: Localice el campo "exp" para determinar si el token sigue siendo válido.

6

Lógica de Verificación: Identifique el tercer segmento para comprender la integridad.

7

Formatee para Legibilidad: Use la vista JSON formateada para leer fácilmente datos complejos.

8

Sanitice Datos Sensibles: Nunca incluya contraseñas en el payload, ya que es fácilmente decodificable.

9

Identifique Errores: Nuestra herramienta le avisará si el formato del token es incorrecto.

10

Depuración Privada: Use los botones de copiar para mover partes específicas a sus logs localmente.

Funciones avanzadas de inspección JWT para ingenieros

Descomposición en tiempo real: Divide instantáneamente el token en cabecera, payload y firma.
JSOM con formato atractivo: Formatea automáticamente las cadenas JSON con la sangría adecuada.
Procesamiento exclusivo en el cliente: Sus tokens nunca tocan un servidor, garantizando privacidad 100%.
Decodificación Base64Url automática: Maneja perfectamente las variaciones de caracteres del estándar JWT.
Identificación de Claims comunes: Resalta campos estándar como sub, iss y exp para una auditoría rápida.
Sistema de retroalimentación de errores: Alertas claras para tokens mal formados.
Diseño Responsivo: Depure problemas de autenticación desde su móvil o tablet.
Copia con un clic: Botones dedicados para copiar el encabezado o el payload individualmente.
Optimizado para Modo Oscuro: Una interfaz premium que se adapta a su entorno de desarrollo.
Sin dependencias: Ejecución nativa en el navegador para máxima velocidad.
Operación sin estado: No se guardan datos. Refrescar la página borra todo el contenido.
Cumplimiento de estándares: Sigue estrictamente la especificación RFC 7519.

Ejemplo de decodificación JWT

Example Token
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoyMDI2fQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Decoded Payload
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 2026
}

Entendiendo errores de seguridad e implementación de JWT

Formato de Token Mal Formado

Un JWT válido debe tener exactamente dos puntos (.) separando tres partes.

Errores de relleno Base64Url

Los JWT omiten el relleno "=". Si se añade manualmente, la decodificación fallará.

Fuga de datos sensibles

Incluir información personal en el payload es un riesgo, ya que solo está codificado, no cifrado.

Claims de expiración (exp)

Si el token ha expirado, su aplicación devolverá errores 401 Unauthorized.

Confusión de Algoritmos

Asegúrese de que la cabecera "alg" coincida con el algoritmo esperado por su servidor.

Vulnerabilidad de algoritmo "none"

Desconfíe de los tokens donde el algoritmo está configurado como "none".

Preguntas frecuentes sobre JWT

Q.¿Es seguro decodificar mi JWT en línea?

Con ProUtil sí. Nuestra herramienta funciona íntegramente en su navegador. El token nunca se transmite a nuestros servidores.

Q.¿Cuál es la diferencia entre HS256 y RS256?

HS256 usa una clave secreta compartida (simétrica). RS256 usa un par de claves pública/privada (asimétrica), siendo más seguro para sistemas distribuidos.

Q.¿Puedo cambiar los datos en un JWT y volver a firmarlo?

Puede cambiar el payload, pero la firma quedará invalidada. Necesitaría la clave original para volver a firmarlo correctamente.

Q.¿Están cifrados los JWT?

Por defecto no. Los tokens estándar JWS solo están codificados y firmados. Para ocultar los datos necesita usar JWE (JSON Web Encryption).

Q.¿Por qué se usa Base64Url?

Para reemplazar caracteres como "+" y "/" por "-" y "_" facilitando su uso en URLs sin necesidad de codificación adicional.

Q.¿Qué no debe guardarse nunca en un JWT?

Nunca guarde información sensible como contraseñas o números de tarjeta de crédito en el payload.

Q.¿Cómo manejo la expiración?

El claim `exp` indica cuándo deja de ser válido. Su aplicación debe verificarlo y rechazar tokens caducados.

Q.¿Qué es un "claim" en un JWT?

Es una pieza de información sobre un sujeto. Los claims estándar incluyen `sub`, `iss`, `aud` y `exp`.

Q.¿Afecta el tamaño del payload al rendimiento?

Sí. Como se envían en cada petición HTTP, los payloads grandes aumentan la carga de la red.

Q.¿Puede revocarse un JWT?

Son sin estado, por lo que son válidos hasta que expiran. Para revocarlos antes se necesita una lista de denegación en el servidor.

Q.¿LocalStorage o Cookies?

LocalStorage es vulnerable a XSS. Las cookies HttpOnly son más seguras frente a XSS pero deben protegerse contra CSRF.

Q.¿Qué pasa si no verifico la firma?

Un atacante podría crear tokens falsos con roles de administrador y su sistema confiaría en ellos.

Q.¿Qué es el encabezado "kid"?

Es el ID de la clave usada para firmar el token, útil cuando se usan múltiples claves públicas.

Q.¿Hay un límite de tamaño?

No técnico, pero muchos servidores limitan el tamaño de las cabeceras (normalmente a 8KB o 16KB).

Q.¿Por qué mi firma es inválida?

Puede deberse a una manipulación del token, al uso de una clave incorrecta o a corrupción de datos durante la transmisión.

Q.¿Es ProUtil de código abierto?

¡Sí! Puede inspeccionar nuestro código en GitHub para verificar nuestro compromiso con la privacidad.