Loona Automation logoLoona Developer Tools
Home › Developer Tools › JWT Decoder

JWT Decoder - Read Header & Payload, Check Expiry

In short: the JWT Decoder splits a JSON Web Token into its header and payload, shows both as readable JSON, and translates the expiry and issued-at timestamps into plain dates. It does not - and no decoder can - prove the token is genuine.

A JWT looks like one long unreadable string, but the first two parts are just Base64url-encoded JSON. Paste a token to read what it claims - who it is for, when it expires - while debugging. Use it for inspection only; real trust requires signature verification on a server.

Important: this decoder does NOT verify the signature. It only reads the token's contents. Never trust a decoded JWT on its own - anyone can create or alter an unverified token. Always validate tokens properly on your server.
Private by design: everything in this tool happens 100% in your browser with JavaScript. Your input is never uploaded to a server, never stored and never seen by us - close the tab and everything is gone.

How to use the JWT Decoder

  1. Paste the full token (all three parts) into the box.
  2. Click Decode Token.
  3. Read the header and payload, and check the expiry line - then verify the token properly in your own system before trusting it.

How it works

A JWT is three Base64url strings joined by dots: header.payload.signature. The header names the signing algorithm; the payload carries claims such as sub (subject), iat (issued-at) and exp (expiry, as a Unix timestamp in seconds). This tool decodes the first two parts from Base64url to JSON - the exact same decoding your own code does - and converts the numeric time claims into human dates. The third part, the signature, is shown as present but is NOT checked: verifying it needs the secret or public key and must happen in your backend.

Worked example

Decoding the classic sample token shows header {"alg":"HS256","typ":"JWT"} and a payload with sub "1234567890" and iat 1516239022 - which the tool renders as "Thu, 18 Jan 2018 01:30:22 GMT", far easier to reason about than the raw number.

Frequently Asked Questions

Is this JWT decoder free?

Yes - free, no sign-up, no limits.

Does this tool verify the token?

No. It decodes only. A decoded token proves nothing about authenticity - anyone can write any payload and encode it. Signature verification requires the key and belongs on your server.

Why does the payload look readable at all?

JWT parts are encoded, not encrypted. Encoding is for transport, not secrecy - never put secrets in a JWT payload.

Is it safe to paste a real token here?

Your token is decoded 100% in your browser and never uploaded. Even so, good practice is to avoid pasting live production tokens into any tool - use a test token with the same shape.

What does "exp" mean?

The expiry time of the token as a Unix timestamp in seconds. This tool converts it to a readable date and tells you whether it has already expired.

Related Developer Tools

Embed this tool on your website — free

Add this tool to your own website or blog — it is completely free, needs no sign-up, and always shows the latest version. Copy the code below and paste it into your page where you want the tool to appear. Keeping the small “Powered by Loona Automation” credit line under the embed helps keep this tool free — but you are free to style or remove it; the tool works either way.