# Security & Generators
Processed locally in your browser

JWT Decoder

Decode JSON Web Tokens online and inspect their header and payload in a readable format directly in your browser.

JWT Decoder Decode JWT Online JWT Token Decoder JWT Payload Viewer JSON Web Token Decoder
Decoded only — signature not verified
Encoded JWT Token
Decoded Token Structure
Security Notice: Decoded only — signature not verified.
Header (Algorithm & Token Type) -
// Header JSON will appear here...
Payload (Claims & Data) 0 claims
// Payload JSON will appear here...
Signature (Verification String) Decoded only — signature not verified.
// Signature bytes will appear here...

How to Use the JWT Decoder

Inspect JSON Web Token headers, claims, and expiry dates in four simple steps:

1

Paste JWT Token

Paste your complete three-part token into the left input pane, or click "Sample" to load an example authentication token.

2

Automatic Decoding

The tool unpacks the Base64URL encoded header and payload segments instantly without transmitting data over the internet.

3

Inspect Claims

Review formatted JSON blocks alongside human-readable UTC timestamp conversions for exp, iat, and nbf.

4

Copy Data

Copy the formatted header or payload JSON directly to your clipboard for use in configuration files or test suites.

What is a JSON Web Token (JWT)?

A JSON Web Token (JWT), defined in RFC 7519, is an open, industry-standard method for securely transmitting information between parties as a compact JSON object. Because it is digitally signed, the claims it carries can theoretically be verified and trusted.

A standard JWT consists of three distinct parts separated by dots (.):

  • Header: Typically consists of two parts: the token type (JWT) and the signing algorithm being used (such as HS256 or RS256).
  • Payload: Contains the "claims". These are statements about an entity (typically the user) and additional metadata such as expiration time (exp), issuer (iss), and audience (aud).
  • Signature: Generated by taking the encoded header, encoded payload, a secret key, and passing them to the specified cryptographic signing algorithm.

Anatomy of a JWT Structure

A visual breakdown of how compact token strings translate to structured claims:

Compact Encoded Token RFC 7519
eyJhbGciOiJIUzI1NiJ9.
eyJzdWIiOiIxMjM0NSIsIm5hbWUiOiJBbGljZSJ9.
4pe_ZgwNZwsQhbgWGNG-H_73mKxU
Decoded Structured JSON Plain JSON
// Header
{ "alg": "HS256" }

// Payload
{ "sub": "12345", "name": "Alice" }

When Developers Use JWT Decoders

Everyday engineering workflows that require fast token inspection:

Checking Token Expiration

Quickly verifying whether an expired 401 Unauthorized API error was caused by a stale exp timestamp.

Validating Scopes & Roles

Inspecting role arrays, user permissions, and tenant identifiers injected by identity providers like Auth0, Okta, or Cognito.

Debugging OAuth & OIDC Flows

Tracing ID tokens and access tokens issued during OpenID Connect authorization code grant exchanges.

Audit Header Algorithms

Confirming that the alg header specifies expected algorithms (e.g., RS256) rather than insecure "none" algorithms.

Key Features of CodeCrate JWT Decoder

Designed for privacy, precision, and developer transparency:

Automatic Timestamp Formatting

Translates numeric Unix epoch timestamps into UTC dates and shows clear active/expired statuses.

100% Client-Side Privacy

Tokens are decoded exclusively in browser memory. Sensitive production tokens are never transmitted to any external server.

Strict Base64URL Parsing

Handles URL-safe characters (- and _) and missing trailing padding with standards-compliant UTF-8 decoding.

Separate Copy Actions

Copy Header JSON or Payload JSON individually with immediate visual feedback.

Important Security Disclaimer: Decoding vs. Verification

Decoded Only — Signature Not Verified

This utility performs client-side inspection only. It parses the Base64URL encoded JSON sections of your token without validating its cryptographic signature or public key certificates. Do not assume a token is authentic or tamper-free simply because it can be successfully decoded. In production backends, always verify tokens using your authentication server's JWKS (JSON Web Key Set) or public certificate.

Frequently Asked Questions

Got questions about JWT decoding? Find answers below:

What is a JSON Web Token (JWT)?

A JWT is a compact, URL-safe means of representing claims between two parties. It is composed of three dot-separated Base64URL encoded parts: Header, Payload, and Signature.

Does decoding a JWT mean its signature is verified?

No. Decoding merely unpacks the Base64URL encoded JSON claims for inspection. It does not verify the cryptographic signature or validate that the token has not been tampered with.

Are my tokens transmitted to any remote server?

No. All decoding and timestamp parsing happens 100% client-side in your browser. Tokens are never uploaded to any remote server or stored in local storage.

How are timestamps like exp, nbf, and iat interpreted?

JWT timestamps are expressed in Unix epoch seconds. CodeCrate automatically parses these timestamps into human-readable UTC dates and displays an active or expired indicator.

Why can anyone decode a JWT?

JWTs are encoded with Base64URL, not encrypted. Unless wrapped in JWE (JSON Web Encryption), the payload of a standard JWT is readable by design.

Can I copy the decoded header or payload separately?

Yes. Dedicated buttons allow copying the formatted JSON header, payload, or individual claim values with a single click.