Decodificador y Codificador JWT: Inspecciona Tokens JSON Web al Instante

Decodifica cualquier token JWT al instante en tu navegador o genera el tuyo propio con el codificador integrado. Visualiza el encabezado, carga útil, todas las reclamaciones con descripciones legibles, estado de expiración y cuenta regresiva - sin inicio de sesión, sin cuenta, tus datos nunca salen de tu navegador.

100% basado en navegador · Sin servidor · Sin registro · Completamente privado

Última actualización: Abril 2026

0 caracteres

100% Gratis y Privado

Todo el procesamiento ocurre en su navegador. No subimos datos al servidor. Sin registros ni pagos ocultos. Herramientas gratuitas y seguras.

Basado en NavegadorSin Registros en ServidorSin Historial

¿Qué es un Token JWT?

Un JWT (JSON Web Token) es un formato compacto, definido en RFC 7519, usado para transmitir información segura entre partes como un objeto JSON firmado. Son el estándar para la autenticación sin estado: el servidor codifica la identidad del usuario en el token y lo firma, permitiendo que las solicitudes posteriores se verifiquen sin buscar en la base de datos.

Un JWT consta de tres secciones codificadas en Base64url separadas por puntos (.):

Encabezado (Header)

Especifica el tipo de token (JWT) y el algoritmo (alg), como HS256. JSON codificado en Base64url.

Carga útil (Payload)

Contiene los claims: declaraciones sobre el usuario (sub, roles) y metadatos (exp). Está codificado, no encriptado - cualquiera puede leerlo. Nunca guardes contraseñas o datos sensibles aquí.

Firma (Signature)

Un hash criptográfico del encabezado y la carga útil, firmado con una clave privada. Usado para verificar que el token no ha sido alterado.

Los JWTs se usan ampliamente en APIs REST, microservicios y aplicaciones móviles. Para encriptar la carga útil, usa JWE en lugar del JWT estándar.

Cómo Decodificar un Token JWT

  1. Copia tu token JWT desde tu aplicación, herramientas de desarrollo web o API
  2. Pégalo en el campo superior - debe comenzar con eyJ
  3. El encabezado y carga útil decodificados aparecen al instante.
  4. Comprueba el Estado del Token para ver si es válido, si caducó, y el temporizador en vivo
  5. Revisa el panel de Auditoría de Seguridad para detectar vulnerabilidades en el algoritmo o tiempo de expiración
  6. Usa la tabla de Detalle de Claims para interpretar los campos estándar con su definición de RFC
  7. Expande la sección de Código para copiar la validación backend en JS, Python, Go, Java o cURL

Referencia de Claims JWT: sub, iss, aud, exp, iat, nbf, jti

  • sub - Subject. El sujeto sobre el cual trata el token (ej. ID de usuario). (RFC 7519 §4.1.2)
  • iss - Issuer. Identifica el origen o emisor del token. (RFC 7519 §4.1.1)
  • aud - Audience. Destinatarios previstos del token. (RFC 7519 §4.1.3)
  • exp - Expiration Time. Fecha de expiración (Timestamp Unix). (RFC 7519 §4.1.4)
  • iat - Issued At. Momento de emisión del token. (RFC 7519 §4.1.6)
  • nbf - Not Before. Momento a partir del cual el token será válido. (RFC 7519 §4.1.5)
  • jti - JWT ID. Identificador único para este token. Previene ataques de replicación. (RFC 7519 §4.1.7)

JWT vs Tokens de Sesión: ¿Cuándo usarlos?

JWT (Stateless)Session Token (Stateful)
Almacenamiento en servidorNoSí (Base de datos / RedIs)
Funciona con microserviciosRequiere base de datos compartida
Revocación de TokenDifícil (requiere blocklist)Fácil (borrar base de datos)
Tamaño del tokenMás grandePequeño (solo ID oscuro)
Mejor paraAPIs, apps móviles, microserviciosAplicaciones web tradicionales
Seguridad ante compromisoVálido hasta fecha expSe puede invalidar al instante

Usa JWT cuando: Construyas APIs REST sin estado, backends para aplicaciones móviles o comunicación entre microservicios.

Usa sesiones cuando: La revocación inmediata es requerida o trates aplicaciones web tradicionales de alto riesgo.

Algoritmos JWT Explicados: HS256 vs RS256 vs ES256

AlgoritmoTipoClaveUso recomendado
HS256HMAC-SHA256Secreto compartidoApps un servidor, servicios internos
RS256RSA-SHA256Pública / PrivadaMúltiples servicios
ES256ECDSA P-256Curva elípticaRendimiento, tecnologías móviles
PS256RSA-PSS SHA256Pública / PrivadaAlta seguridad
noneNingunoNinguno⚠️ Nunca usar - vulnerabilidad grave

RS256 es el más recomendado para sistemas de producción descentralizados porque no necesitas compartir la clave privada.

Mejores Prácticas de Seguridad JWT (2026)

  • Siempre valida la firma criptográfica antes de leer los datos
  • Emite tokens con poca vida de expiración (15 mins - 1 hr)
  • Nunca almacenes información sensible. ¡No lo olvides, la carga útil es visible!
  • Obliga conexiones HTTPS (TLS) al mover los tokens en la web
  • Usa HttpOnly cookies en el navegador para mitigar Cross-Site Scripting (XSS)
  • Implementa un flujo de refresh token para mitigar robos de token de acceso
  • Valida adecuadamente los claims aud (Audiencia) e iss (Emisor)
  • NUNCA permitas el algoritmo alg: none en tu software criptográfico
  • Proporciona una block-list para forzar revocación de usuarios comprometidos

Cómo Decodificar un JWT en tu Código

Estos ejemplos decodifican la estructura sintáctica de un JSON de JWT y lo visualizan.

JavaScript (Browser / Node.js)

// Decode without verification (read-only, same as this tool)
function decodeJWT(token) {
  const [header, payload] = token.split('.');
  const decode = str => JSON.parse(atob(str.replace(/-/g, '+').replace(/_/g, '/')));
  return { header: decode(header), payload: decode(payload) };
}

const { header, payload } = decodeJWT(yourToken);
console.log(payload.exp); // expiry timestamp

Python

import base64, json

def decode_jwt_payload(token):
    payload = token.split('.')[1]
    # Add padding
    payload += '=' * (4 - len(payload) % 4)
    return json.loads(base64.urlsafe_b64decode(payload))

claims = decode_jwt_payload(your_token)
print(claims['exp'])  # expiry timestamp

Go

import (
    "encoding/base64"
    "encoding/json"
    "strings"
)

func decodeJWTPayload(token string) (map[string]interface{}, error) {
    parts := strings.Split(token, ".")
    payload, _ := base64.RawURLEncoding.DecodeString(parts[1])
    var claims map[string]interface{}
    json.Unmarshal(payload, &claims)
    return claims, nil
}

JWT vs Session: ¿Cuándo deberías usar un JWT?

Son ideales para arquitecturas completamente sin estado que dependen de un acceso descentralizado a recursos mediante API Gateway, microservicios y protocolos OAuth2/OIDC. No se recomienda JWT para manejar toda la sesión de una página web tradicional monolítica de alto nivel debido a los riesgos en el secuestro de token que no puede revocarse sin una capa de seguridad en base de datos externa.

Frequently Asked Questions

¿Qué es un token JWT?

Un JSON Web Token (JWT) es un medio compacto definido por IETF (RFC 7519) que transfiere información de forma confiable entre entes empleando objetos JSON firmados criptográficamente.

¿Cómo decodifico un token JWT?

Simplemente pégalo en el campo superior sin hacer clics. Es completamente ejecutado en JavaScript y nadie verá los tokens más allá de tu equipo o de tu navegador.

¿Puedo decodificar un JWT sin la clave / secret key?

Sí. Los caracteres de formato se dividen en base a puntos "." y se les retira la codificación base64. La parte sensible recae enteramente al contrastar la firma y prevenir su mutación artificial.

¿Es segura esta herramienta para probar mis JWT?

Perfectamente. Todo sucede estáticamente en el lado-cliente. Ninguna terminal web emite solicitudes Fetch o Axios exponiendo variables JSON o strings hacia servidores locales de everytool.

¿Cómo determina cuándo expira?

Utiliza un valor estandarizado numérico conocido como el claim "exp" que mide los segundos universales marcados con POSIX Unix Time e ilustra el tiempo regresivo exacto en vivo.

¿Qué es la diferencia entre "Codificar" y "Decodificar"?

Codificar compone el algoritmo Base64 URL con firmas artificiales formando secuencias alfanuméricas; Decodificar ejecuta secuencias asimétricas devolviendo los claims.

¿Por qué es tan peligroso el alg "none"?

Permite que atacantes sobreescriban propiedades completas como el perfil maestro en sistemas donde existe una débil e infame comprobación y se excluya totalmente la validación criptográfica.

¿Es un JWT carga útil cifrada/encriptada?

Absolutamente NO. El JWT solo utiliza base64 encoding (texto claro), debes confiar en protocolos de extensión alternativos como el ecosistema de clave pública-privada JSON Web Encryption (JWE).

¿Qué significa token aún no válido?

Se apoya sobre la etiqueta nbf (not before). Garantiza denegar por diseño interacciones al portador si el acceso del servidor sobrepasa y no encuentra el umbral cronológico futuro pactado.

¿Cómo usar iat y exp en JWT?

La iat marca el comienzo temporal de existencia al generar el JWT, y exp finaliza estrictamente este umbral. Es decir: validez total temporal = (exp - iat).

¿Puedo utilizar un JWT en HTTP normal?

Esto facilitaría inmediatamente los ataques asimétricos Man-InThe-Middle e interceptaciones. SIEMPRE debes proteger redes TCP con encriptaciones SSL/TLS y cabeceras estrictas HTTPS.

¿En qué difieren JWE de JWT?

JWE transforma a la fuerza todo valor interior usando protocolos modernos de llave privada y lo revuelve todo de forma binaria-privada para aislar la mirada de un tercero o del cliente JavaScript.

¿Cuáles son los claims principales u oficiales del JSON?

Oficialmente IANA reconoce componentes fijos como iss (Emisor), sub (El Sujeto a proteger), aud (Audiencia en API), fechas en exp (Expiración) e iat (Cuándo fue creado).