LikeApp

🔑 JWT Decoder

Free online JWT decoder — paste a token to instantly see its header and payload as formatted JSON. Interprets exp/iat/nbf as local time with an expiry badge. 100% client-side: your token never leaves the browser.

Last updated: 2026-08-21

🔒 Your token never leaves this page. All decoding happens locally in your browser — nothing is sent to any server.
⚠️ This tool decodes only — it does NOT verify the signature. Never paste your secret key here. A token that decodes successfully is not necessarily trustworthy.
0 chars

How to Decode a JWT

  1. Paste your JWT (starts with eyJ...) into the input box
  2. The header and payload appear instantly as formatted JSON
  3. exp/iat/nbf claims are shown in your local time with an expiry badge
  4. Copy the JSON you need with one click

💡 Common Examples

ScenarioInputResult
Expiry checkToken with exp: 1893456000Expires Jan 1, 2030 09:00 → 🟢 Valid
Inspect payloadToken starting with eyJhbGciOi...{ "sub": "1234567890", "name": "Jane Doe", ... }
Debug a 401Paste the token your API rejected🔴 Expired (3 hours ago) — cause found instantly

The Complete Guide to Decoding JWTs

A JSON Web Token (JWT, RFC 7519) is three dot-separated parts — header.payload.signature — and it is the de facto standard for API authentication and session management. The header and payload are simply base64url-encoded JSON, which means they can be decoded and inspected by anyone. Paste a token into this tool and both parts appear instantly as neatly formatted JSON.

The claims you check most often while debugging are the time claims. exp (expiration), iat (issued at), and nbf (not before) are stored as Unix timestamps in seconds, which are unreadable at a glance. This tool converts all three to your local time and shows a clear status badge — expired 🔴, valid 🟢, or not-yet-valid 🟡 — so you can tell in seconds why an API is returning 401 Unauthorized.

One thing matters more than anything else: decoding is not verification. Base64url is an encoding, not encryption, so anyone can read a JWT payload — and this tool does not verify signatures. Whether a token is authentic (untampered) can only be established by verifying the signature server-side with your secret or public key, using a library such as jsonwebtoken or jose. For the same reason, never store passwords or personal data in a JWT payload.

Everything runs locally in your browser — the token is never uploaded, which makes this safer than server-based debuggers. The tool also flags dangerous headers like alg:none. Related tools worth pairing with this one: use the Base64 encoder/decoder to work with individual segments by hand, or the timestamp converter to translate any Unix timestamp.

FAQ

Related Tools

Tools You Might Also Like