Skip to main content
Developer

JWT Decoder

Decode and inspect JSON Web Token headers and payloads, including issued-at and expiration claims.

JWT Token

Paste a JSON Web Token to decode its header and payload.

No token yet

Paste a JWT or load the sample token to decode header and payload claims.

Was JWT Decoder helpful?

Stored locally for now - helps us improve this tool.

Why people trust ToolMint

Free utilities designed for privacy, speed, and everyday reliability.

  • 100% Free

    Core tools stay free with no paywall to unlock basics.

  • No Registration Required

    Open a tool and start immediately - no account needed.

  • Privacy First

    We avoid unnecessary collection and keep processing local when possible.

  • Browser Processing

    Most tools run in your browser so your input never needs a server round-trip.

  • Fast & Secure

    HTTPS everywhere with instant, client-side results for everyday tasks.

  • Mobile Friendly

    Layouts and controls are built for phones, tablets, and desktops.

  • Updated Regularly

    Tools and content are improved continuously as the platform grows.

Tool statistics

Local visit data for this browser only.

Opened
Last used
Favorite
Category
Developer
Version
1.0.0

Key Features

  • Header & payload breakdown

    View the decoded JWT header and payload as formatted, readable JSON instantly, without writing any code.

  • Expiration insights

    See issued-at (iat) and expiration (exp) timestamps converted to readable dates, plus time remaining or elapsed.

  • Clear decode-vs-verify distinction

    The tool only reads the header and payload - it never claims to validate the signature, so you always know what was and was not checked.

  • Browser-only, no upload

    Tokens are decoded locally in JavaScript. Nothing is sent to a server, even for expired or malformed tokens.

How to Use

  1. 1

    Paste your JWT

    Copy a token from your app, an API response, browser dev tools, or an authentication log.

  2. 2

    Review the decoded JSON

    Inspect the header’s algorithm and type fields, and the payload’s claims, in readable formatted JSON.

  3. 3

    Check expiration and issued time

    Confirm the iat and exp claims and see whether the token is currently valid based on time alone.

  4. 4

    Verify separately if trust matters

    Treat decoding as inspection only - validate the signature on a trusted backend before trusting any claim.

Use Cases

  • Debugging authentication flows

    Inspect access and ID tokens issued by an OAuth or OpenID Connect provider to confirm expected claims are present.

  • Reviewing API access tokens

    Check the subject, audience, scope, or role claims inside a bearer token during backend or integration development.

  • Diagnosing expired-session issues

    Compare a token’s exp claim against the current time to confirm whether "unauthorized" errors are caused by expiry.

  • Learning JWT structure

    Explore how a real-world JWT is assembled from header, payload, and signature segments for training or documentation purposes.

Examples

OAuth access token

Decode a bearer token to inspect subject, name, and issued-at claims.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

Expired session token

Decode a token with an exp claim in the past to confirm why an API call failed.

header.eyJzdWIiOiJhYmMiLCJleHAiOjE3MDAwMDAwMDB9.signature
{
  "sub": "abc",
  "exp": 1700000000
}
Expired: Yes (time remaining is negative)

Benefits

  • Debug authentication and authorization flows faster
  • Inspect claims without writing backend decoding code
  • Check token expiry and issued time during development
  • Learn JWT structure with real, readable examples
  • No account, install, or upload required to inspect a token

Best Practices

  • Use sample or staging tokens rather than pasting live production secrets into any online tool.
  • Remember that decoding does not prove a token is trustworthy - only signature verification does that.
  • Compare the exp claim against your server’s clock if a token appears expired unexpectedly.
  • Check the alg field in the header, and never trust an "alg: none" token from an untrusted source.

Common Mistakes

  • Treating a decoded JWT as proof of authenticity without ever verifying the cryptographic signature.
  • Pasting production access or refresh tokens into public demos, shared screens, or chat messages.
  • Assuming the payload is encrypted - JWT payloads are only base64url-encoded and readable by anyone with the token.

Privacy Notice

All decoding runs locally in your browser using JavaScript. JWTs are never uploaded to ToolMint servers or any third party, even if the token is invalid.

About This Tool

What is this tool?

A JWT decoder is a developer utility that reads the base64url-encoded header and payload segments of a JSON Web Token and displays them as readable JSON, without checking the cryptographic signature.

Why use it?

Developers use JWT decoders to inspect claims, debug authentication issues, and confirm expiration during integration work, without writing one-off decoding scripts.

Limitations

This tool does not validate signatures, confirm issuer trust, check token revocation status, or guarantee that a token’s claims are authentic - decoding is not the same as verification.

Frequently Asked Questions

Suggested Articles

Help improve JWT Decoder

Found a problem or missing feature? Tell us - no account required.

Report issue

Request a tool

Last updated:

Share this tool