Decode JWT header and payload locally. No token leaves your browser.
⚠️ Decoding runs 100% locally in your browser — your JWT is never uploaded. Never paste production access tokens or sensitive credentials into any online tool. This decoder only reads the header and payload; it does NOT verify signatures and must not be used to trust token contents.
A JWT (RFC 7519) is a compact, URL-safe string of three dot-separated segments: a header that names the signing algorithm, a payload of claims about the user, and a signature that cryptographically binds the two. Each segment is JSON that has been Base64URL-encoded (URL-safe base64 with the padding stripped). This decoder reads the first two segments locally and checks the exp claim against the current time — it never verifies the signature, because that requires the server's secret key.
Left: the two JSON segments are Base64URL-encoded so the token survives URLs, cookies and Authorization headers. Right: the signature is HMAC-SHA256 (or RSA/ECDSA) computed over the encoded header.payload with a secret only the server holds — that is what proves the token was not tampered with.
Maya, a backend engineer, gets a 401 Unauthorized from an API. She pastes the token from the Authorization header into this decoder to see exactly what the server was complaining about.
A JWT has three parts: header.payload.signature. Paste your JWT to decode the base64 header and payload, check expiry, and inspect claims — all locally in your browser.
FreeToolHub JWT Decoder is a free browser-based tool that decodes JWT tokens to inspect header and payload, no signup, no upload.
Decodifica y examina la cabecera y el payload de tus tokens JWT al instante. Sin registro: el token nunca sale de tu navegador.
El decodificador de JWT abre y lee tokens de JSON Web Token en tu navegador, sin enviar nada a ningún servidor. Extrae el encabezado y la carga útil, los muestra como JSON con resaltado de sintaxis y decodifica el contenido en Base64URL, que puede incluir una lista de permisos o claims. Verificar la firma requiere la clave, así que la herramienta indica si el token usa HS256, HS384, HS512, RS256 o ES256 y explica qué necesitas para comprobarla.
Desarrolladores que depuran por qué un token es rechazado: el campo exp ya pasó, el aud no coincide, o el iss viene de otro sitio. Equipos de soporte que atienden incidencias donde el cliente pega un token y hay que leerlo. Ingenieros que validan un JWT de terceros sin escribir código. Estudiantes que estudian OAuth y OpenID Connect viendo un token real decodificarse en vivo.
(1) Pega el token en el campo, o pega el texto completo de una cabecera Authorization: Bearer. (2) Pulsa Decode. El token se divide en sus tres segmentos separados por puntos, el encabezado y la carga útil se decodifican de Base64URL y se muestran formateados. (3) Lee los datos en una tabla: iss (emisor), aud (audiencia), exp, nbf e iat (tiempos, convertidos a fechas locales), sub (sujeto) y cualquier campo personalizado. (4) Copia el JSON o regenéralo a partir de los datos del token.
Sí en cuanto al procesamiento: todo ocurre en tu navegador con JavaScript y el token nunca se envía a ningún servidor. Aun así, un token es una credencial: trátalo como una contraseña y no pegues tokens de producción en herramientas de terceros sin revisar su política de privacidad. Si necesitas depurar un token real, revoca y emite uno nuevo después.
Es la forma en que JSON Web Token codifica sus segmentos: es Base64 estándar con el alfabeto cambiado (usa guiones y guiones bajos en lugar de más y barra) y sin el relleno del signo igual. Eso permite que el token sea seguro dentro de una URL o una cabecera HTTP. Base64URL no es cifrado: cualquiera puede decodificar y leer el contenido, solo no puede verificar la firma sin la clave.
Las causas más habituales son: el reloj desincronizado (los servidores validan exp con margen, y un reloj local desviado lo invalida), el aud (audiencia) que no incluye tu servicio, el iss (emisor) distinto del esperado, o que el token se haya firmado con un algoritmo distinto del que usa tu librería al verificar: el caso clásico es esperar RS256 y recibir HS256. Decodifica el token y comprueba el campo alg de la cabecera, que indica con qué algoritmo se firmó.
exp es la marca de tiempo de expiración, en segundos desde la época Unix (1970-01-01). Pasada esa fecha, el token deja de ser válido y cualquier servidor bien configurado lo rechazará. La herramienta la convierte a tu hora local para que veas el margen real que queda. Los refresh tokens suelen tener un exp mucho más lejano que los de acceso corto.
Yes. Decoding a JWT only base64-parses the header and payload sections—it does not transmit your token anywhere. Processing runs entirely in JavaScript on your local machine with zero network requests. Unlike jwt.io (which loads third-party analytics), this tool has no tracking, no cookies, and no external dependencies.
It decodes and displays the header (algorithm, type), payload (claims, expiration, issuer), and signature. For HS256 tokens, you can paste the secret to verify signature integrity locally. It supports RS256, ES256, and HS256 algorithms—the three most common in production OAuth 2.0 and OpenID Connect implementations.
Esta herramienta también se conoce por estas tareas — cada enlace abre la misma herramienta con una guía enfocada:
What do you call a really smart cookie?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.