Free JWT Decoder Online

Decode and inspect JWT tokens online for free. View header, payload, claims, and expiry status instantly with our secure, browser-based JWT decoder.

Free online file converter tool. Works in Chrome Firefox Safari Edge Opera and other modern browsers on Windows macOS Linux Android and iOS. No software installation required. Browser-side processing keeps your file local when supported. Completely free to use with no account needed.

Free JWT Decoder Online

Decode and inspect JSON Web Tokens. View header, payload, claims and expiry status instantly in your browser.

Key Features

Everything you need to inspect JWT tokens

JWT
Instant Decoding

Paste any JWT token and see the decoded header and payload immediately with no button press needed.

EXP
Expiry Detection

Automatically checks the exp claim and shows a clear valid or expired badge so you know token status at a glance.

SEC
Privacy-Aware

Browser-side decoding runs locally in your browser. Avoid entering sensitive tokens unless local processing is clearly shown.

How to Decode a JWT Token Online

  1. Paste the token

    Copy the full JWT (the three dot-separated parts: header, payload, and signature) and paste it into the input box. Decoding runs automatically in your browser as you type or paste, so you do not have to click Decode first.

  2. Read the header and payload

    The base64url header and payload are decoded into pretty-printed JSON. The header shows the signing algorithm (alg) and token type (typ), while the payload lists every claim the issuer placed in the token.

  3. Inspect claims and expiry

    Review the claims table for a row-by-row view, where exp, iat, and nbf timestamps are converted to human-readable UTC dates. The expiry badge reads the exp claim and shows Valid, Expired, or No expiry claim at a glance.

What This Decoder Shows You

A JWT has three base64url-encoded segments joined by dots. This tool reads all three and presents each part differently. It decodes and displays the contents but does not verify the signature, which would require the secret or public key.

JWT PartWhat It HoldsHow This Tool Handles It
HeaderSigning algorithm (alg) and token type (typ)Decoded to formatted JSON
PayloadClaims such as sub, iss, aud, exp, iat, nbfDecoded to JSON and to a claims table
SignatureCryptographic signature over header and payloadDisplayed as raw text, not verified
exp / iat / nbfUnix timestamps in secondsConverted to readable UTC dates
Expiry statusWhether exp is in the pastShown as a Valid, Expired, or No expiry badge
ProcessingWhere decoding happensRuns locally in your browser, no upload

When to Use a JWT Decoder

Debugging auth flows

Quickly see which claims an identity provider or API gateway issued, confirm the subject and audience, and spot a wrong issuer or missing scope without writing any code.

Checking expiry

When a request returns 401 or a session drops, paste the token to read the exp date in UTC and confirm whether the token has already expired or is not yet valid because of nbf.

Inspecting custom claims

The claims table lists every payload field, so you can verify custom roles, tenant IDs, or feature flags an application embedded in the token.

When NOT to rely on it

This tool decodes only. It does not verify the signature, so it cannot tell you whether a token is authentic or tampered with. Use a server-side library with the key for that.

Common Problems and Fixes

Invalid JWT: expected 3 parts

A JWT must have exactly three segments separated by dots. This error means a segment is missing or you pasted extra text. Remove any surrounding quotes, the Bearer prefix, or trailing whitespace and paste only the raw token.

Failed to decode header or payload

This appears when a segment is not valid base64url JSON, often from a copy that was truncated or line-wrapped. Re-copy the complete token in one piece and make sure no characters were dropped at the edges.

Badge says Expired but the token works elsewhere

The badge compares the exp claim to your device clock in UTC. If your system time is wrong, the status can be misleading. Check your clock, and remember exp and iat are shown in UTC, not local time.

Signature shows but is not checked

The signature segment is displayed as text only. This tool never validates it, so a decoded token is not proof of authenticity. Verify the signature in your backend using the matching secret or public key.

References

  1. RFC 7519: JSON Web Token (JWT) - IETF
  2. RFC 7515: JSON Web Signature (JWS) - IETF
  3. RFC 4648: base64url encoding - IETF
  4. Introduction to JWT - jwt.io
  5. RFC 7518: JSON Web Algorithms - IETF
  6. SubtleCrypto (Web Crypto) - MDN Web Docs, Mozilla
  7. JSON - MDN Web Docs, Mozilla
  8. Clipboard.writeText() - MDN Web Docs, Mozilla