UTILYARD
tools / developer

Decodificador JWT

Decodifica e inspecciona tokens JSON Web en tu navegador.

TOKEN

Preguntas frecuentes

¿Es seguro pegar mi token aquí?
Sí — esta herramienta se ejecuta completamente en tu navegador. Nada se envía a un servidor. Dicho esto, evita por costumbre pegar tokens de producción de sistemas sensibles en cualquier herramienta en línea.
¿Por qué no se verifica la firma?
Verificar una firma JWT requiere la clave secreta o la clave pública, que solo tu servidor debería tener. Decodificar el payload es seguro y útil sin ella.
¿Qué es un JWT?
Un token JSON Web es una forma compacta y segura para URLs de representar claims entre dos partes. Tiene tres partes: encabezado (algoritmo), carga útil (claims) y firma.
¿Qué significa exp?
El claim exp es una marca de tiempo Unix que indica cuándo expira el token. Esta herramienta muestra el estado de vencimiento en relación con tu hora actual.

ACERCA DE ESTA HERRAMIENTA

Paste a JSON Web Token to decode its header, payload, and signature into readable JSON — entirely in your browser with no server involved. A JWT is three Base64url-encoded sections separated by dots: a header describing the signing algorithm, a payload containing claims like user ID, expiration (exp), and issuer, and a signature that proves the token wasn't tampered with. This tool decodes the header and payload so you can read the claims, but it does not verify the signature, since that requires the issuer's secret or public key, which you shouldn't paste into a random web tool anyway. Helpful for debugging authentication issues, inspecting token claims, or understanding what a JWT contains before wiring it into your app.

CÓMO USARLO

  1. Paste the full JWT string, including all three dot-separated parts, into the input field.
  2. View the decoded header on one side, showing the algorithm (like HS256 or RS256) and token type.
  3. View the decoded payload on the other side, showing claims like sub, iat, exp, and any custom fields.
  4. Check the exp (expiration) claim against the current time to see if the token has expired.
  5. Note that the signature section is shown but not cryptographically verified here.
  6. Copy individual claim values you need for debugging, or copy the full decoded JSON.

CASOS DE USO COMUNES

  • A developer debugging a 401 Unauthorized error decodes the JWT their app is sending to check whether the expected claims and expiration are actually present.
  • Someone integrating with an OAuth provider inspects an access token's payload to see what scopes and user info it actually contains.
  • A backend engineer verifies that a token's exp claim is set to the expected lifetime after changing token issuance code.
  • A security-conscious developer checks which signing algorithm (alg) a third-party token uses to confirm it isn't using the insecure "none" algorithm.
  • A support engineer pastes a user-reported token to quickly see the user ID and role encoded inside it without querying the database.

CONSEJOS Y ERRORES COMUNES

  • This tool decodes but does not verify the signature — a token could have a tampered payload and still "decode" fine, so never treat successful decoding here as proof the token is authentic.
  • Never paste a real production JWT containing sensitive data into a third-party tool if you can avoid it; anyone can decode a JWT's header and payload without any secret, since only Base64url encoding protects them, not encryption.
  • The exp and iat claims are Unix timestamps in seconds, not milliseconds — compare them against the current Unix time in seconds to check expiration correctly.
  • Watch for the algorithm listed in the header; tokens signed with "none" or using a mismatched algorithm between issuance and verification are a well-known JWT security vulnerability.

MÁS PREGUNTAS

Is a JWT encrypted?
No, a standard JWT (JWS) is only signed and Base64url-encoded, not encrypted — anyone who has the token can read its header and payload; only encrypted JWTs (JWE) hide the payload content, and those are far less common.
Why does this tool show the signature as invalid or unchecked?
Verifying a signature requires the secret key (for HMAC algorithms like HS256) or the public key (for RSA/ECDSA algorithms like RS256), neither of which you should paste into a browser tool you don't control, so this tool only decodes rather than verifies.
Can I trust the claims in a JWT without verifying the signature?
No — decoding shows you what the payload claims, but only signature verification against the correct key proves those claims haven't been altered since the token was issued.
Why is my token's expiration date wrong?
JWT exp and iat claims are Unix timestamps in seconds since the epoch, so if your decoding logic treats them as milliseconds (a common JavaScript Date mistake), the resulting date is off by a factor of 1000.

GUÍAS RELACIONADAS

¿Qué es un JWT?
Cómo funcionan los tokens JSON Web, su estructura y cómo usarlos de forma segura.
Leer →
Decodificador JWT — UtilYard