JWT Decoder

Decodes a JSON Web Token's base64url header and payload for inspection.

100% FreeRuns in your browserBasic

Token

Use test tokens. Never paste a production token or secret into any website.

Blank = now.

Decoded

Signature: Not verified

Paste a token to decode it.

Runs entirely in your browser. Your input is not uploaded or stored.

How the method works

Decoded does not mean verified
Illustrative method
Decoded does not mean verifiedA compact token split at its two dots into header, payload and signature. Header and payload are base64url-decoded to JSON; the signature is only bytes and stays not verified without the key.Header.base64url → JSON"alg": "HS256""typ": "JWT"Payload.base64url → JSON"sub": "1234""exp": 0Signaturebase64url → bytesraw bytesneeds the keySignature status: Not verifiedReadable claims are not trusted claims.
A compact JWS is header.payload.signature. Header and payload are base64url → UTF-8 → JSON and can be read by anyone; exp 0 means 1970-01-01T00:00:00Z. The signature can only be checked with the right key and algorithm, so the status stays “Not verified”. Five segments means an encrypted JWE, which is not decoded.

This tool never fetches keys (jku/x5u) and never shows “verified”. Fixed example values for illustration — not your result.

Tip: Enter any known values to calculate the remaining results.

Designed to run locally in your browser. Tool inputs are not intentionally stored by Zerdly unless stated otherwise.