JWT Decoder
Decode JSON Web Tokens online and inspect their header and payload in a readable format directly in your browser.
// Header JSON will appear here...
// Payload JSON will appear here...
// Signature bytes will appear here...
How to Use the JWT Decoder
Inspect JSON Web Token headers, claims, and expiry dates in four simple steps:
Paste JWT Token
Paste your complete three-part token into the left input pane, or click "Sample" to load an example authentication token.
Automatic Decoding
The tool unpacks the Base64URL encoded header and payload segments instantly without transmitting data over the internet.
Inspect Claims
Review formatted JSON blocks alongside human-readable UTC timestamp conversions for exp, iat, and nbf.
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 asHS256orRS256). - 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:
eyJhbGciOiJIUzI1NiJ9.
eyJzdWIiOiIxMjM0NSIsIm5hbWUiOiJBbGljZSJ9.
4pe_ZgwNZwsQhbgWGNG-H_73mKxU
// 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
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.
Related Developer Tools
Explore more free developer utilities from CodeCrate: