Los JWT parecen tres bloques de caracteres aleatorios unidos por puntos. Pero la sección del medio — el payload — es simplemente JSON codificado en Base64url. No necesitas la clave de firma para leerlo; solo la necesitas para verificar que no ha sido manipulado. Decodificar el payload es una operación de solo lectura que puede hacer cualquiera.

Cuando estás depurando flujos de autenticación, comprobando la caducidad de un token o verificando qué claims envía un servicio, decodificar el payload es la forma más rápida de conseguir esa información.

Qué hay dentro de un JWT

Un JWT tiene tres secciones separadas por puntos:

HEADER.PAYLOAD.SIGNATURE

La cabecera contiene el tipo de token y el algoritmo de firma. El payload contiene los claims como JSON codificado en Base64url. La firma verifica la autenticidad del token — pero no hace falta para leer el payload.

Decodificar el payload con TextForge

TextForge es una extensión de Chrome con más de 50 utilidades de texto. Decodificar Base64 está en la versión gratuita y se ejecuta completamente en local — no se transmite nada.

  1. 1
    Copia el JWT completo
    Consigue el token desde las DevTools (pestaña Network → cabecera Authorization, sin el prefijo "Bearer "), tu cliente de API o una variable de entorno.
  2. 2
    Extrae la sección del payload
    El JWT tiene tres secciones divididas por puntos. Copia solo la segunda — todo lo que hay entre el primer y el segundo punto.
  3. 3
    Abre TextForge
    Haz clic en el icono de TextForge en la barra del navegador para abrir la extensión.
  4. 4
    Pega y aplica Decodificar Base64
    Pega la sección del payload en el área de entrada y selecciona Decodificar Base64 en el menú de herramientas.
  5. 5
    Lee los claims
    El JSON decodificado aparece de inmediato. Verás el ID de usuario, el timestamp de expiración, los roles y cualquier otro claim que lleve el token.

Qué pinta tiene el payload decodificado

{"sub":"user_123","email":"user@example.com","role":"admin","exp":1762000000,"iat":1750000000,"aud":"api.example.com"}

Claims clave a revisar: exp es un timestamp Unix — si está en el pasado, el token ha caducado. sub identifica al usuario. aud te dice para qué servicio se emitió el token. Si una petición está siendo rechazada con un 401, estos tres campos suelen decirte el porqué.

¿Por qué no usar jwt.io?

jwt.io es cómodo y el recurso estándar. Pero envía tu token a un servidor para decodificarlo. Para tokens que contienen IDs de usuario reales, direcciones de email o claims de scope internos, es una costumbre que conviene replantearse — especialmente al depurar incidencias de producción donde los tokens llevan datos vivos.

TextForge decodifica en el contexto local de la extensión de tu navegador. El token nunca sale de tu máquina.

Preguntas frecuentes

¿Puedo decodificar la firma del JWT de esta forma?

La firma también va codificada en Base64url, pero decodificarla te da binario en bruto — no contenido legible. El payload (la segunda sección) es lo que contiene los claims que quieres inspeccionar.

¿TextForge verifica la firma del JWT?

No. TextForge decodifica el payload solo para inspección. La verificación de la firma requiere la clave secreta o pública y se hace en el lado del servidor. Para depurar, leer los claims suele ser todo lo que necesitas.

¿Funciona sin conexión?

Sí. Decodificar Base64 se ejecuta en local, dentro de la extensión. No se requiere conexión a internet.

TextForge es gratis. Decodificar Base64 — y más de 50 utilidades de texto — están disponibles sin cuenta ni suscripción.

Instalar TextForge — gratis