How to Decode a JWT (JSON Web Token)

A JWT looks like gibberish — three chunks of random characters separated by dots. But it is not encrypted; it is merely encoded, and anyone can read what is inside. Decoding a JWT reveals the claims it carries: who the user is, what they can do, and when the token expires. For developers debugging authentication, this is a daily need. This guide explains the structure of a JWT, what decoding shows, and the critical security point everyone must understand.

The three parts of a JWT

A JWT has three Base64URL-encoded sections joined by dots:

The dots separate them. Decoding reads the header and payload; the signature is verified with a secret key, not read.

How to decode a JWT with this tool

  1. Open the JWT Decoder tool.
  2. Paste the token.
  3. Read the decoded header and payload.

Everything runs in your browser, so the token is never uploaded. This is essential: a JWT often grants access to an account, so pasting it into a server-side website would hand your session to a stranger. Local-only decoding is the safe way.

The security truth: encoded, not encrypted

This trips up newcomers constantly. A JWT payload is not secret. Base64 is encoding, not encryption — anyone who has the token can decode and read every claim in it. The consequences:

Reading the important claims

Common uses

Related tools

The payload is JSON, so JSON Formatter helps read a large one. For general encoding questions, Base64 Encoder/Decoder shows the layer underneath a JWT's parts.

Privacy and limits

Decoding is fully local — no upload, no size limit, nothing stored, offline once loaded. Open the JWT Decoder tool to see inside your tokens safely.