Logotipo
Prompt Minds

Decodificador de JWT: decodifica JSON Web Tokens al instante

Mira lo que hay dentro de un token (encabezado, carga útil, claims y caducidad) sin enviarlo a ninguna parte.

JWT टोकन के अंदर क्या है देखें — हेडर, पेलोड, क्लेम और एक्सपायरी, पूरी तरह प्राइवेट।

100% privado: se ejecuta en tu navegador · Última actualización: October 2026
—

Verifica una firma HMAC (opcional)

Las firmas no se verifican salvo que ingreses el secreto (solo tokens HMAC). Los tokens RS/ES/PS necesitan la clave pública del emisor y aquí nunca se verifican.
Logotipo de PDNobPDNob Tu editor de PDF ligero con IA Editar · Convertir · Comprimir · OCR · IA Descargar para escritorio

Consejos rápidos

Cualquiera puede leer un JWT: no pongas secretos en él
Decodificar no es verificar
Comprueba exp, iss y aud en el servidor
Rechaza alg none
Prefiere tokens de prueba al depurar
Todas las herramientas
Publicidad

Respuesta rápida

Pega un JWT (la larga cadena de tres partes separadas por puntos) y el decodificador muestra su encabezado (algoritmo y tipo) y su carga útil (las claims) como JSON legible. Las fechas como exp e iat se convierten en fechas reales, y ves al instante si el token ha caducado. Decodificar no demuestra que un token sea genuino: para comprobar una firma HS256, ingresa el secreto. Tu token nunca sale de tu navegador.

¿Qué es un decodificador de JWT?

Un decodificador de JWT lee un JSON Web Token y muestra lo que hay dentro. Los JWT están en todas partes en las apps modernas: cuando inicias sesión en un sitio web o app móvil, el servidor suele darle a tu navegador un token como eyJhbGciOiJIUzI1NiIs… que demuestra quién eres en las solicitudes posteriores. Las API los aceptan en el encabezado Authorization: Bearer, los sistemas de inicio de sesión único como Google, Firebase, Auth0 y AWS Cognito los emiten como tokens de ID, y los webhooks y microservicios los pasan entre servidores.

Cada token lleva claims (el ID del usuario, su correo o rol, quién emitió el token, a quién va dirigido y cuándo caduca) codificadas en Base64URL para que puedan viajar de forma segura en URL y encabezados. Este decodificador gratuito convierte un token de nuevo en JSON legible, explica las claims estándar, convierte las claims de marcas de tiempo en fechas reales, te dice si el token ha caducado, avisa de configuraciones inseguras y, en los tokens firmados con HMAC, puede verificar la firma con tu secreto. Todo esto ocurre en tu navegador; el token nunca se sube.

Características principales

  • Encabezado y carga útil decodificados y con formato JSON legible.
  • Seguro con UTF-8: los nombres y claims en hindi u otros idiomas se muestran correctamente.
  • Tabla de claims con significados en lenguaje sencillo para las claims registradas.
  • Fechas: exp, iat, nbf y auth_time en UTC y hora local, con «en 2 h» o «hace 3 días».
  • Estado: caducado, aún no válido o todavía válido.
  • Avisos para alg none y para tokens cifrados (JWE).
  • Verificación HMAC para HS256, HS384 y HS512.
  • El prefijo «Bearer » se elimina automáticamente.

Cómo decodificar un JWT, paso a paso

  1. Copia el token de las herramientas para desarrolladores de tu navegador, de la respuesta de una API, de una cookie o de un registro.
  2. Pégalo en el cuadro; el resultado aparece al instante.
  3. Lee la línea de estado para ver el algoritmo y la caducidad.
  4. Inspecciona el JSON del encabezado y la carga útil y la tabla de claims.
  5. Para verificar un token HS256/384/512, ingresa el secreto compartido. El token de ejemplo de esta página está firmado con el secreto promptminds-secret, así que puedes probarlo.

Las tres partes de un JWT

ParteContieneEjemplo (decodificado)
EncabezadoAlgoritmo y tipo de token{"alg": "HS256", "typ": "JWT"}
Carga útilClaims sobre el usuario y el token{"sub": "1234567890", "name": "Prompt Minds", "exp": 4102444800}
FirmaHMAC o firma digital sobre encabezado.cargaútilDatos binarios, codificados en Base64URL

Las tres partes se unen con puntos. Como solo la firma depende de un secreto o de una clave privada, cualquiera puede decodificar las dos primeras partes, y por eso las cargas útiles de los JWT nunca deben contener contraseñas, números de tarjeta ni otros secretos.

Claims registradas explicadas

ClaimNombreSignificado
issEmisorQuién creó el token (p. ej., la URL de tu servidor de autenticación)
subAsuntoDe quién trata el token: normalmente el ID del usuario
audAudienciaQué app o API debe aceptarlo
expHora de caducidadPasada esta hora, el token debe rechazarse
nbfNo antes deAntes de esta hora, el token debe rechazarse
iatEmitido enCuándo se creó el token
jtiID del JWTID único, útil para evitar la repetición

Las claims de tiempo son marcas de tiempo Unix en segundos. Por ejemplo, exp 4102444800 es el 1 de enero de 2100 00:00 UTC, la caducidad en un futuro lejano que usa el token de ejemplo de esta página. Nuestro conversor de marcas de tiempo convierte cualquier valor así.

Decodificar frente a verificar

Decodificar responde a «¿qué dice este token?». Verificar responde a «¿puedo fiarme de lo que dice?». Para verificar, un servidor recalcula la firma sobre header.payload con el secreto compartido (HS256) o la comprueba con la clave pública del emisor (RS256, ES256), y luego valida exp, nbf, iss y aud. Solo después de que pasen todas las comprobaciones debe actuar sobre las claims. Esta herramienta puede realizar la parte HMAC de la verificación para pruebas; para los algoritmos de clave pública, usa la biblioteca de tu servidor y el punto de conexión JWKS del emisor.

Trampas de seguridad habituales de los JWT

  • Aceptar alg none: un atacante puede quitar la firma. Exige siempre un algoritmo concreto.
  • Confusión de algoritmos: los servidores que aceptan tanto RS256 como HS256 pueden ser engañados para usar la clave pública como secreto HMAC. Fija el algoritmo esperado.
  • Secretos HMAC débiles: los secretos cortos pueden descubrirse por fuerza bruta a partir de un token capturado. Usa al menos 256 bits aleatorios.
  • Tokens de larga duración: mantén los tokens de acceso cortos (de minutos a horas) y usa tokens de actualización.
  • Guardar tokens en localStorage: cualquier XSS puede robarlos; considera las cookies HttpOnly.
  • Datos sensibles en la carga útil: puede leerlos cualquiera que vea el token.

Dónde encontrar un JWT

  • Herramientas para desarrolladores del navegador → pestaña Red → encabezado Authorization de una solicitud.
  • Pestaña Aplicación / Almacenamiento → cookies, localStorage o sessionStorage.
  • Respuestas de API de los puntos de conexión de inicio de sesión (a menudo los campos access_token e id_token).
  • Registros de apps móviles o herramientas proxy al depurar.
  • Firebase: await user.getIdToken() devuelve un token de ID que puedes pegar aquí.

Cómo funciona este decodificador

La herramienta quita un «Bearer » inicial, divide el token en los puntos, convierte cada parte Base64URL de nuevo en bytes (añadiendo el relleno y cambiando - y _ por + y /), decodifica los bytes como UTF-8 estricto y los analiza como JSON. Los errores se indican con precisión, por ejemplo si una parte contiene caracteres que no son Base64URL o no es JSON válido. El estado de caducidad se calcula con el reloj de tu dispositivo. Para HS256/384/512 importa tu secreto con la API Web Crypto, calcula el HMAC de header.payload y compara el resultado Base64URL con la firma del token.

Tokens de acceso, de ID y de actualización

Los sistemas de inicio de sesión basados en OAuth 2.0 y OpenID Connect suelen emitir varios tokens. El token de ID siempre es un JWT y describe al usuario (nombre, correo, sub) para la app cliente. El token de acceso se envía a las API; a menudo es un JWT pero puede ser una cadena aleatoria opaca que solo entiende el emisor, y esos no se pueden decodificar aquí. El token de actualización es de larga duración, debe guardarse de forma segura y se intercambia por nuevos tokens de acceso cuando estos caducan. Si un token no se decodifica, probablemente es opaco y no está roto.

Usos habituales

  • Depurar errores «401 No autorizado» revisando exp, aud e iss.
  • Comprobar qué roles o ámbitos concede un token.
  • Comparar tokens de ID de distintos proveedores de identidad.
  • Verificar tokens HS256 de webhooks o servicios durante el desarrollo.
  • Aprender cómo se construyen los tokens de autenticación.
  • Confirmar problemas de desfase de reloj entre servidores.
  • Comprobar que una nueva versión sigue emitiendo tokens con las claims esperadas.

Errores comunes que debes evitar

  • Fiarse de las claims decodificadas en el navegador para decisiones de seguridad: verifica siempre en el servidor.
  • Pegar tokens de producción en sitios web desconocidos: un token es una contraseña temporal.
  • Tratar exp como milisegundos: los tiempos de los JWT están en segundos.
  • Ignorar el desfase de reloj: permite uno o dos minutos de margen entre servidores.
  • Usar el mismo secreto en todas partes: rota y acota los secretos.

Solución de problemas

  • «Un JWT tiene 3 partes»: el token se cortó o tiene texto de más; cópialo de nuevo completo.
  • «no es JSON Base64URL válido»: el token puede ser un token de acceso opaco, no un JWT.
  • La firma no coincide: secreto equivocado, un token modificado, o el secreto está codificado en Base64 en el servidor (ingresa el secreto decodificado).
  • Caducado pero la app sigue funcionando: la app puede actualizar los tokens automáticamente o comprobar otro token.

Glosario rápido

  • JWT: JSON Web Token (RFC 7519).
  • JWS / JWE: formatos de token firmado / cifrado.
  • Claim: un dato de información en la carga útil.
  • HMAC: hash con clave que usan HS256/384/512.
  • JWKS: un conjunto JSON de claves públicas para verificar tokens RS/ES.
  • Token Bearer: un token que da acceso a quien lo tenga.
  • Base64URL: Base64 seguro para URL y sin relleno, que se usa en todas las partes de un JWT.
  • Desfase de reloj: pequeñas diferencias de hora entre servidores que pueden hacer que tokens recién emitidos parezcan caducados.

¿Por qué usar este decodificador de JWT?

Decodifica cualquier JWT al instante, explica las claims y la caducidad en lenguaje sencillo, señala configuraciones peligrosas, verifica firmas HMAC y mantiene tu token en tu dispositivo: gratis y sin registro.

Decodificador de JWT: datos clave

DecodificaEncabezado y carga útil (Base64URL → JSON UTF-8)
Claimsiss, sub, aud, exp, nbf, iat, jti y claims personalizadas
Fechasexp, iat y nbf se muestran en UTC y hora local con el estado de caducidad
VerificarHS256 / HS384 / HS512 con tu secreto (Web Crypto)
No se verificaFirmas RS / ES / PS (necesitan la clave pública del emisor)
PrivacidadSe ejecuta en tu navegador: el token nunca se sube

Preguntas frecuentes

¿Qué es un JWT?

Un JSON Web Token (JWT) es una forma compacta y segura para URL de enviar claims, como un ID de usuario y la hora de caducidad, entre sistemas. Tiene tres partes Base64URL separadas por puntos: un encabezado, una carga útil y una firma. Está definido en RFC 7519.

¿Un JWT está cifrado?

Normalmente no. Un JWT firmado normal (JWS) solo está codificado, así que cualquiera que lo tenga puede leer el encabezado y la carga útil, justo lo que hace este decodificador. La firma impide la manipulación, no la lectura. Nunca pongas contraseñas ni datos personales sensibles en la carga útil de un JWT.

¿Decodificar demuestra que el token es válido?

No. Decodificar solo lee el contenido. Un token es de fiar únicamente si su firma se verifica con la clave correcta y si tu servidor comprueba sus claims (caducidad, emisor, audiencia).

¿Cómo compruebo si un JWT ha caducado?

Mira la claim exp, que es una marca de tiempo Unix en segundos. El decodificador la convierte en una fecha y te dice si está en el pasado (caducado) o en el futuro, y hace cuánto o cuánto falta.

¿Esta herramienta puede verificar la firma?

Sí para los tokens HMAC (HS256, HS384, HS512) si ingresas el secreto compartido. Los tokens firmados con RS256, ES256, PS256 y similares usan criptografía de clave pública; verifícalos en tu servidor con la clave pública del emisor o con JWKS.

¿Es seguro pegar mi token aquí?

La decodificación y la verificación ocurren por completo en tu navegador y no se envía nada a un servidor. Aun así, trata los tokens activos como contraseñas: prefiere tokens de prueba y nunca pegues tokens de producción en herramientas en las que no confíes.

¿Qué significa alg none?

Significa que el token no está firmado. Aceptar esos tokens ha causado graves fallos de seguridad, así que el decodificador te avisa. Los servidores deben rechazar alg none salvo que esperen explícitamente tokens sin firmar.

¿Qué son iat, nbf y exp?

iat es cuándo se emitió el token, nbf es la hora antes de la cual no debe aceptarse y exp es cuándo caduca. Todos son segundos desde el 1 de enero de 1970 UTC.

¿Por qué mi token tiene cinco partes?

Un token de cinco partes es un JWE cifrado. Su carga útil no se puede leer sin la clave de descifrado, así que no se puede decodificar aquí.

¿Qué es Base64URL?

Base64URL es Base64 con - y _ en lugar de + y /, y sin relleno con =, de modo que los tokens son seguros en URL y encabezados.

¿Puedo decodificar tokens de Firebase, Auth0, Cognito o Google?

Sí. Los tokens de ID y de acceso de estos proveedores son JWT estándar. Verás claims como iss, aud, sub, email y auth_time.

¿El decodificador de JWT es gratis?

Sí. Es gratis, ilimitado y no requiere registro.

¡Mira dentro de cualquier token!

Encabezado, carga útil, claims y caducidad, decodificados de forma privada en tu navegador.

Explora más herramientas de Prompt Minds

El decodificador de JWT funciona muy bien junto con nuestras otras herramientas gratuitas. Todas las herramientas de Prompt Minds se ejecutan por completo en tu navegador: sin registro, sin subidas y sin marcas de agua. Ver todas las herramientas gratuitas.

Asistente de IA de Prompt Minds
¡Namaste! ¿Cómo puedo ayudarte con el decodificador de JWT?