Hack the Hydra

Decodificador JWT

Pega un JSON Web Token (con o sin «Bearer») para ver su cabecera y su payload como JSON formateado. Las marcas de tiempo exp e iat se muestran como fechas UTC y la herramienta indica si el token ha caducado.

🔒 Privado: la conversión se hace en esta pestaña. No se sube nada.

Decodificador JWT es una herramienta en línea gratuita de Hack the Hydra. Decodifica un JWT para leer su cabecera y su payload, con iat, nbf y exp como fechas y la comprobación de caducado / aún no válido. Todo ocurre en tu navegador: el token nunca se envía.

100 % gratisSin subir archivos: funciona en tu navegadorSin registro
Decodificador JWT: la herramienta con un archivo de ejemplo convertido

Qué contiene un JWT

Un JWT tiene tres partes separadas por puntos: una cabecera (el algoritmo de firma, por ejemplo HS256 o RS256), un payload con los «claims» (identificador en sub, caducidad en exp, emisor en iss, audiencia en aud…) y una firma. Cabecera y payload solo están codificados en base64url, no cifrados: cualquiera que tenga el token puede leerlos.

Decodificar no es verificar

Esta página no comprueba la firma, porque hace falta el secreto (HS256) o la clave pública del emisor (RS256, ES256). Por tanto, un token decodificado puede estar falsificado. Tu servidor debe verificar siempre la firma y los claims exp, nbf, iss y aud con una biblioteca JWT. Un token con "alg": "none" no tiene firma y debe rechazarse.

Por qué decodificar en local

Un token de acceso es una credencial: pegarlo en una web que lo envía a un servidor puede dar acceso a tu cuenta o a tu API. Aquí la decodificación es JavaScript en tu pestaña y no se envía ni se registra nada. Los tokens cifrados (JWE, cinco partes) no se pueden leer sin la clave, y la herramienta lo indica.

Ejemplo

El token de ejemplo público de la documentación de JWT. La marca iat se muestra como fecha; la firma se indica pero no se verifica.

Entrada

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Resultado

Header:
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload:
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

Dates (UTC):
iat: 2018-01-18T01:30:22Z

Signature: 43 characters, NOT verified

Cómo usar

  1. Suelta tu archivo en el recuadro o haz clic para elegirlo.
  2. Espera unos segundos mientras se convierte localmente.
  3. Copia el resultado o descárgalo.

Preguntas frecuentes

¿Es seguro pegar un token de producción?

Nada sale de tu navegador. Aun así, trata los tokens como contraseñas y usa tokens caducados o de prueba en capturas de pantalla.

¿Por qué dice EXPIRED?

El claim exp es una hora Unix en segundos. Si es anterior al reloj de tu ordenador, el token ha caducado y un servidor correcto lo rechazará.

¿Comprueba la firma?

No. La verificación requiere el secreto o la clave pública y debe hacerla tu backend.

¿Qué significan iat, nbf y exp?

iat: cuándo se emitió; nbf: momento antes del cual no debe aceptarse; exp: cuándo caduca. Son marcas de tiempo Unix en segundos.

Guías

Otras herramientas

Convertir PDF a MarkdownImagen a texto (OCR gratis)Convertir Word a MarkdownExcel y CSV a tablas MarkdownOCR PDF: PDF escaneado a textoConvertir PDF a textoUnir archivos PDFDividir PDF: extraer páginasGirar PDFConvertir JPG a PDFConvertir PDF a JPGConvertidor de imágenes: PNG, JPG, WebPComprimir imagen: JPG y WebPConvertir PNG a JPGConvertir JPG a PNGConvertir WebP a PNGGenerador de código QRContador de palabrasConvertidor de mayúsculas y minúsculasFormateador y validador JSONCodificar y decodificar Base64Codificador y decodificador de URLGenerador de UUID v4Generador de contraseñas segurasGenerador de Lorem IpsumConversor de JSON a CSVEliminar líneas duplicadasConversor de timestamp UnixConversor de JSON a YAMLComparar dos textosRedimensionar imagenCalculadora de porcentajesCalculadora de edadGenerador de hash (SHA-256, SHA-1, SHA-512)Convertidor de colores: HEX, RGB, HSLCalcular días entre dos fechasConvertidor de YAML a JSONConversor de unidadesConvertidor binario, hexadecimal, decimal y octalConvertidor de números romanosProbador de regexExplicar una expresión cron