Diagnosticar un error 401
Una API rechaza tu petición: decodifica el token Bearer para ver si ha expirado, si la audiencia aud coincide con la API llamada o si el emisor iss es el del entorno correcto.
Pega un JSON Web Token: la cabecera y el payload se decodifican a JSON mientras escribes, con un resumen del algoritmo, el emisor, la audiencia y las fechas exp, iat y nbf en hora local.
algtypkidisssubaudexpiatnbfDecodificar no verifica la firma: cualquiera puede leer un JWT. Para comprobar la firma, usa el verificador JWT.
El decodificador JWT muestra en claro la cabecera y el payload de un JSON Web Token en cuanto lo pegas. Está pensado para desarrolladores, testers y equipos de soporte que necesitan entender rápidamente qué contiene un token de acceso o un ID token: algoritmo, emisor, audiencia y fechas de validez. Lee el token, pero no verifica su firma.
Un JWT firmado (RFC 7519, en el formato JWS compacto de la RFC 7515) se compone de tres segmentos separados por puntos: cabecera, payload y firma. Los dos primeros son JSON codificado en Base64URL, una variante de Base64 que sustituye + y / por - y _ y elimina el relleno =. El decodificador separa el token, convierte cada segmento en texto UTF-8 y lo analiza como JSON. Por ejemplo, el segmento eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 corresponde a {"alg":"HS256","typ":"JWT"}.
El resumen extrae después los campos útiles: alg y typ de la cabecera, iss (emisor), sub (sujeto) y aud (audiencia) del payload. Los claims exp, iat y nbf son NumericDate, es decir, un número de segundos desde el 1 de enero de 1970 UTC: 1767225600 corresponde al 1 de enero de 2026 a las 00:00 UTC. La herramienta los convierte a hora local e indica si el token es válido, ha expirado o todavía no es válido. Aparece un aviso si la cabecera declara alg: none, es decir, un token sin firma.
Pega el token completo con sus tres partes separadas por puntos. La decodificación empieza mientras escribes, sin pulsar ningún botón.
Ambos segmentos se muestran en JSON formateado: algoritmo y tipo en la cabecera, claims estándar y personalizados en el payload.
Comprueba el algoritmo, iss, sub, aud y las fechas exp, iat y nbf en hora local con su estado. Para comprobar la firma, pasa al verificador JWT.
Una API rechaza tu petición: decodifica el token Bearer para ver si ha expirado, si la audiencia aud coincide con la API llamada o si el emisor iss es el del entorno correcto.
Tras un inicio de sesión OpenID Connect (Auth0, Keycloak, Entra ID, Cognito), revisa claims personalizados como roles, groups o scope para entender por qué un usuario no accede a una página.
Compara iat y exp para confirmar que tu proveedor de identidad emite tokens de acceso de 5, 15 o 60 minutos, como prevé tu configuración.
Entrada
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cResultado
Encabezado: {"alg":"HS256","typ":"JWT"}; Carga útil: {"sub":"1234567890","name":"John Doe","iat":1516239022}; Decodificar no verifica la firma.Sí. La cabecera y el payload solo están codificados en Base64URL, no cifrados, así que cualquiera que tenga el token puede leerlos. La clave solo hace falta para verificar la firma, tarea del verificador JWT y no de este decodificador.
No, un JWT firmado (JWS) puede leerlo cualquiera; la firma solo garantiza que no se ha modificado. Nunca pongas contraseñas ni datos confidenciales en el payload. Si el contenido debe ser secreto, usa un JWE (RFC 7516).
exp es la fecha de expiración, iat la fecha de emisión y nbf la fecha antes de la cual no se debe aceptar el token. Son segundos Unix (NumericDate, RFC 7519), no milisegundos. La herramienta los muestra en hora local con el estado válido, expirado o todavía no válido.
alg: none significa que el token no está firmado. Un servidor que lo acepta permite a cualquiera fabricar sus propios tokens, una vulnerabilidad conocida recogida en la RFC 8725. Una aplicación en producción debe imponer siempre una lista de algoritmos permitidos.
A menudo el token se ha cortado al copiarlo, conserva el prefijo Bearer o comillas, o no tiene tres segmentos. Un segmento que no es Base64URL válido o cuyo contenido no es JSON también provoca un error.
Un token de acceso válido es una credencial: quien lo obtenga puede usarlo hasta que expire. Aquí la decodificación se hace en tu navegador y el token no se envía a ningún servidor. Aun así, usa tokens de prueba o ya expirados siempre que puedas.
Workflow recomendado
Descubre herramientas que encajan antes, después o como complemento de esta.
Codifica texto en Base64 o decodifica una cadena Base64 para recuperar su contenido original.
Formatea, minimiza y valida un documento JSON para hacerlo más legible o compacto.
Calcula de una vez los hash MD5, SHA-1, SHA-256, SHA-384 y SHA-512 de un texto o archivo.
Verifica la firma de un JWT con un secreto HMAC o una clave pública JWK, JWKS o PEM, y comprueba exp, nbf, iss y aud.
Aprende qué contiene un JWT, por qué decodificar no equivale a verificar y cómo funcionan exp, nbf, iss y aud.
Comprende cómo encajan OAuth 2.0, PKCE, JWT, JWK y JWKS: autorización, tokens, claves públicas y verificación.