Skip to content
PocketDesk
Your files are processed on your device, never uploaded

JWT decoder

  • On device
Input
Ln 1, Col 11 line0 BUTF-8

Paste, drop or open a file in Input to see the result here.

Waiting for input
  • ⌘Enter Run now
  • ⌘⇧C Copy result
  • ⌘F Find in result
  • Esc Exit full screen
  • Use Ctrl instead of ⌘ on Windows and Linux

How to decode a JWT

  1. Paste the token into the Your JWT box. A leading Bearer is removed for you.
  2. Read the header, the payload and the dates. The tiles at the top show the algorithm, the expiry state and times.
  3. Select Copy to copy the decoded text.

Decoding is not verifying

This tool decodes only. It does not verify the signature. Anyone can build a token with any claims, so a readable payload says nothing about whether it is genuine. Your server must check the signature with the right key and also check the issuer, audience and expiry before trusting a token.

What a JWT contains

A JSON Web Token has three parts separated by dots: header.payload.signature.

  • The header names the signing algorithm (alg) and the type.
  • The payload holds the claims, such as the user (sub), the issuer (iss), the audience (aud) and times.
  • The signature lets the server detect tampering. It is shown as raw text here.

The first two parts are Base64URL-encoded JSON, not encrypted, so they can be read by anyone who has the token. Never put passwords or private data in a JWT payload.

Time claims

The decoder turns exp, iat and nbf from Unix seconds into UTC dates. If exp is present it also says whether the token has expired and how long ago or how soon. A token with no exp claim is labelled so, because such a token never expires on its own.

Tips

  • Seeing a Base64 error? Check that you copied the whole token and no extra characters.
  • Format the payload further with the JSON formatter.
  • Read the raw parts yourself with Base64 encode and decode, using the URL-safe option.

Privacy

Tokens grant access, so they are sensitive. This page decodes them only in your browser. Nothing is uploaded, stored or logged, and no network request carries the token.

Questions

Does this verify the token?

No. It only decodes. It does not check the signature, so a decoded token proves nothing about who made it. Verify signatures on your server with the correct key.

Is my token uploaded?

No. The token is decoded in your browser and never leaves your device. Still, treat live tokens as secrets and prefer test tokens.

What do exp, iat and nbf mean?

exp is when the token expires, iat is when it was issued and nbf is the time before which it is not valid. All are Unix times in seconds.

Why does it say the token is expired?

The exp time is earlier than the current time on your device. A wrong device clock can cause this.

Can it decode encrypted tokens?

No. This handles signed tokens (JWS), whose header and payload are only encoded. Encrypted tokens (JWE) need a key.

More developer tools