DevKit IconDevKit

JWT Decoder (JSON Web Token Decoder)

Decode JWT tokens online and inspect headers, payload claims, issuer, audience, expiration time, and custom fields directly in your browser. Your token never leaves your device.

How it works

JWT AUTH TOKEN STREAM

Header Schema Params
Awaiting a valid JWT…
Payload Claims Structure
Awaiting a valid JWT…
Dynamic Claim Calculations

Paste a JWT to inspect its claims.

Signature VerificationDecoding happens locally in your browser. This tool reads claims only; it does not verify the JWT signature.

How to decode a JWT

  1. Paste a JSON Web Token or Bearer token into the input field.
  2. DevKit decodes the JWT header and payload and displays them as formatted JSON.
  3. Review registered claims such as the issuer, audience, subject, expiration time, and issued-at time.
  4. Copy individual claims or the decoded header and payload when you need them for debugging.

Common JWT decoding uses

Inspect authentication tokens while debugging sign-in flows, check API token claims, confirm expiration times, and review custom authorization data such as roles, scopes, or permissions.

JWT security reminder

  • Decoding a JWT does not verify its signature or prove that it is trustworthy.
  • Always validate the signature, issuer, audience, and time-based claims in your application.
  • Treat JWTs as credentials and do not share production tokens unnecessarily.

JWT Decoder FAQ

What is a JWT Decoder?

A JWT Decoder reads the Base64URL-encoded header and payload of a JSON Web Token (JWT) and displays them as readable JSON. It helps developers inspect claims such as the issuer (iss), subject (sub), audience (aud), expiration time (exp), and issued-at time (iat).

Does decoding a JWT verify that it is valid?

No. Decoding only makes the JWT header and payload readable. A decoded JWT should never be trusted unless its signature is verified with the correct signing key and its issuer, audience, and expiration claims are validated.

Can I decode a Bearer token?

Yes. If the Bearer token contains a JWT, DevKit automatically removes the 'Bearer' prefix and decodes the token. If the token is not a JWT, it cannot be decoded by this tool.

Can I decode an OAuth access token?

Many OAuth 2.0 and OpenID Connect providers issue JWT-based access tokens that can be decoded. Some providers use opaque access tokens instead, which cannot be decoded because they do not contain a readable JWT payload.

Can I decode a refresh token?

Some authentication providers issue refresh tokens as JWTs, while others use opaque strings. Only refresh tokens that are JWTs can be decoded and inspected with this tool.

What are the most common JWT claims?

Standard JWT claims include iss (issuer), sub (subject), aud (audience), exp (expiration time), iat (issued at), nbf (not before), and jti (JWT ID). Applications can also include custom claims such as roles, permissions, or user information.

Is decoding a JWT the same as decrypting it?

No. Standard JWTs are Base64URL encoded, not encrypted. Decoding simply converts the encoded header and payload into readable JSON. Encrypted JWTs (JWEs) require decryption and are not supported by this decoder.

Can this tool verify a JWT signature?

No. This tool is designed only for decoding JWTs. Signature verification requires the correct secret or public key, depending on the signing algorithm, and should be performed by your application or backend.

Is my JWT uploaded or stored?

No. All JWT decoding happens locally in your browser. DevKit does not upload, transmit, or store your token, making it safe for inspecting development and testing tokens.

Can I paste a JWT with the Bearer prefix?

Yes. You can paste either a compact JWT or an authorization header beginning with 'Bearer'. DevKit automatically removes the prefix before decoding the JWT.

Why can't my token be decoded?

A token can only be decoded if it is a valid JWT containing three Base64URL-encoded sections separated by periods. Opaque access tokens, malformed tokens, or encrypted JWTs (JWEs) cannot be decoded by this tool.

What is the difference between a JWT Decoder and a JWT Validator?

A JWT Decoder reads and displays the contents of a token, while a JWT Validator verifies the token's signature, issuer, audience, expiration, and other security requirements. Decoding is useful for debugging, whereas validation is required before trusting a JWT in production.

Continue with a related CloudDevKit tool.