Skip to content
Developer

JWT Decoder

Decode and inspect JSON Web Token header and payload.

jwttokendecodeauth
Loading tool…

Recommended tools

Affiliate links — we may earn a commission if you sign up.

About the JWT Decoder

JWT Decoder takes a JSON Web Token and splits it into its three dot-separated segments: header, payload, and signature. Paste the token into the JWT token textarea and decoding is automatic, because there is no button to trigger. The tool converts each base64url segment back to bytes, feeds the header and payload through JSON parsing, and renders both as pretty-printed JSON. The stat tiles summarize the result with Header bytes, Payload bytes, Signature bytes, and Algorithm, which is read straight from the decoded header. The signature segment is displayed as raw hexadecimal bytes under the Header and Payload boxes, since signatures are binary and never meant for human eyes as text. Nothing is verified here; the hint under the input makes that clear with a Decode only, no signature verification note. Malformed input is caught with precise messages such as Expected 3 segments separated by a period, an invalid base64url segment, or a payload that fails JSON parsing, and these surface in a red alert plus a toast. Each decoded part can be downloaded separately as jwt-header.json, jwt-payload.json, or jwt-signature.txt.

Hand-written guide

Examples

Input
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkZlcm5hbmRlcyBMYWJzIiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjE4MDAwMDAwMDB9.iQGIEeRjOFm4ZgzoAJrypUWpu_cJURN9elCljM5BJ80
Output
Header
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload
{
  "sub": "1234567890",
  "name": "Fernandes Labs",
  "iat": 1700000000,
  "exp": 1800000000
}

Signature (hex)
89018811e4633859b8660ce8009af2a545a9bbf70951137d7a50a58cce4127cd
Note: The decoder splits the token into header, payload, and signature; the Algorithm stat reads HS256 and the signature prints as 32 binary bytes in hex.
Input
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwMDAwMDAwMCwiZXhwIjoxODAwMDAwMDAwfQ.eqiS6b1brlCo4KxPnbd3b6klcvxfHuVOcA1YQUO5KpQ
Output
Payload
{
  "sub": "1234567890",
  "name": "Jane Doe",
  "admin": true,
  "iat": 1700000000,
  "exp": 1800000000
}
Note: The Algorithm stat still resolves to HS256 from the header while the payload renders an extra boolean admin claim.
Input
abc.mno
Output
No result — the red alert says Expected 3 segments separated by '.', got 2, and a Malformed JWT toast fires.
Note: The decoder demands exactly three dot-separated segments and refuses to decode anything else.

How to use

  1. 1

    Paste a token into the JWT token textarea; decoding happens automatically as you type.

  2. 2

    Wait for the Header and Payload ResultBoxes to render pretty-printed JSON from the decoded segments.

  3. 3

    Read the Algorithm stat to confirm the signing algorithm, then inspect the Signature (hex) box for the raw bytes.

  4. 4

    If a red alert or Malformed JWT toast appears, check that your token has exactly three segments.

  5. 5

    Use the download controls to save jwt-header.json, jwt-payload.json, or jwt-signature.txt individually.

Common use cases

  • Inspecting the claims returned by an OAuth provider and mapping them to local user fields.
  • Auditing the algorithm value when a service reports an unexpected token format.
  • Debugging why middleware rejects a token by checking its three segments and byte sizes.
  • Comparing the signature hex of two sessions to spot mismatched signing keys.
  • Reviewing a token generated by a teammate before it ships in an integration test.
  • Documenting the decoded payload structure for new developers on the auth team.

Best practices

  • Use this tool to inspect tokens you received, never tokens you are about to trust, since no signature verification happens.
  • Strip stray whitespace from pasted tokens, because decoding expects exactly three dot-separated segments.
  • Treat decoded payload data with the same care as the original token, especially sensitive claims.
  • Compare the Algorithm stat across environments when debugging SSO to catch algorithm-swapping drift.
  • Export each decoded part as a file when you need stable snapshots for a diff after a code change.
  • Never paste production tokens into shared machines; run sensitive inspection in a private session.

Tips

  • Confirm the Algorithm stat matches what your server expects before debugging middleware failures.
  • Compare the hex Signature boxes of two tokens to spot signing-key mismatches at a glance.
  • Use the payload download as a scratch file when mapping the claims consumed by your frontend.
  • Remember the Decode only hint — never rely on this tool as proof that a token is authentic.

Frequently asked questions

No, and that is stated right in the interface hint: Decode only, no signature verification. The tool decodes the base64url segments and prints the signature as raw hexadecimal bytes, but it never checks a key or cryptographically validates the token, so it is for inspection, not authentication.

Explore more developer tools

Browse the full collection of developer tools on the hub, or jump back to all categories.

Related tools