Boneyard Tools

JWT Decoder

Paste a JSON Web Token to read its header and payload as formatted JSON, with exp, iat and nbf shown as readable dates. Decoding happens in your browser and the signature is never verified.

How to decode a JWT

  1. Paste your JSON Web Token into the box.
  2. Read the decoded header and payload, with any time claims shown as dates.
  3. Copy the header or payload JSON you need.

Examples

Standard HS256 token

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
{"alg":"HS256","typ":"JWT"} / {"sub":"1234567890","name":"John Doe","iat":1516239022}

Frequently asked questions

What is a JWT?

A JSON Web Token is a compact, URL-safe token with three base64url parts separated by dots: a header, a payload of claims, and a signature. It is widely used to carry login and authorization data between a server and a client.

Is decoding a JWT the same as verifying it?

No. This tool only decodes the header and payload so you can read them. It does not check the signature, the algorithm or the key, so a decoded token must never be trusted as authentic. Use a JWT library with the signing key to verify.

Is it safe to paste my token here?

The token is decoded entirely in your browser and is never sent to a server. Still, a JWT can carry sensitive data, so avoid pasting production or long-lived tokens into any online tool you do not control.

What do exp, iat and nbf mean?

They are standard time claims in seconds since 1970 (the Unix epoch): iat is when the token was issued, exp is when it expires, and nbf is the time before which it should not be accepted. This tool shows each one as a readable UTC date.

Why is the payload not encrypted?

A standard signed JWT is encoded, not encrypted. Anyone holding the token can base64url-decode the payload and read every claim, so never put secrets such as passwords in it.

Does it work with RS256 and other algorithms?

Yes. Decoding only reads the base64url parts, so it works for any algorithm including HS256, RS256 and ES256. The algorithm appears in the header as the alg field.

Learn more

Related tools