JWT Decoder

Read the header, payload and expiry of a JSON Web Token in your browser.

How to Use JWT Decoder

  1. Paste the whole token, the three parts separated by dots.
  2. Read the header and payload, shown as formatted JSON.
  3. Check the expiry banner if the token has an exp claim.
  4. Copy the header or payload if you need it elsewhere.

What's inside a JWT

A JWT has three Base64URL-encoded parts: a header (the signing algorithm and token type), a payload of claims, and a signature. Common claims are sub (the user), iat (issued at), exp (expires at), iss (who issued it) and aud (who it's for). Times are Unix timestamps in seconds; the decoder turns exp into a date in your local time and tells you whether it has passed.

The payload is only encoded, not encrypted. Anyone who has the token can read it, which is why tokens should never hold passwords or other secrets.

Decoding is not verifying

This tool shows what a token says. It does not check the signature, because that needs the secret or public key the token was signed with. A server must always verify the signature before trusting any claim. To create test tokens signed with your own secret, use the JWT Generator.

Key Features & Practical Use Cases

  • Checking which user ID, roles or scopes an access token carries.
  • Finding out why an API returns 401: often the token has simply expired.
  • Seeing which algorithm (alg) and key ID (kid) a token was signed with.
  • Debugging login flows with Auth0, Firebase, Cognito, Keycloak or your own backend.

Frequently Asked Questions

Is it safe to paste my token here?

The token is decoded in your browser and not sent to any server. Still, treat live tokens like passwords and prefer expired or test tokens when you can.

Why does it say the token format is invalid?

A JWT needs exactly three parts separated by dots. Check that you copied the whole token without the word Bearer or extra spaces. Encrypted tokens (JWE) have five parts and can't be read without the key.

Does it verify the signature?

No. It decodes the header and payload only. Signature checks belong on your server, with the real key.

What time zone is the expiry shown in?

Your device's local time zone. The exp value itself is in UTC seconds.

About OneClickly

OneClickly is a set of 119 free tools for PDFs, images, text, everyday math and code. They run in your browser, so the files and text you work with stay on your device.

Related Tools

  • Hash Generator - Get MD5, SHA-1, SHA-256 and SHA-512 hashes of any text as you type.
  • Bcrypt Hash Generator - Create bcrypt password hashes and check a password against an existing hash.
  • JWT Generator - Create HS256 signed JSON Web Tokens for testing, with your own payload and secret.
  • Base64 Encoder/Decoder - Encode text to Base64 or decode it back, with UTF-8 and URL-safe support.
  • URL Encoder/Decoder - Encode special characters in URLs (percent-encoding) or decode them.
  • HTML Encoder/Decoder - Escape special characters as HTML entities, or decode entities back to plain text.