🔓

Decode JWT Tokens & Inspect Claims Instantly (Check Expiry, Algorithm)

Decode JWT (JSON Web Token) headers and payloads locally in your browser. View claims, algorithm info, and signature without sending data to any server.

Developer ToolsAPI & Backend
Loading tool...

How to Use JWT Decoder

What is a JWT?

A JWT (JSON Web Token) is a compact, URL-safe token format used for securely transmitting information between parties. JWTs are commonly used for authentication and authorization in web applications and APIs.

JWT Structure

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

header.payload.signature
  1. Header: Contains token type (JWT) and signing algorithm (HS256, RS256, etc.)
  2. Payload: Contains claims (user data, permissions, expiration, etc.)
  3. Signature: Cryptographic signature to verify the token hasn't been tampered with

How to Use This Tool

Decode a JWT Token

  1. Paste your JWT in the input field (the entire header.payload.signature string)
  2. Click Decode to extract and parse the token
  3. View the decoded Header JSON (left panel) showing algorithm and token type
  4. View the decoded Payload JSON (right panel) showing claims like sub, exp, iat, custom data
  5. View the Signature segment at the bottom (base64url-encoded, not verified)
  6. Click Copy next to Header or Payload to copy the JSON individually
  7. Use Clear to reset and decode another token
  8. Try Sample Token to see a demo JWT

Important Note

⚠️ This tool ONLY decodes tokens locally in your browser. It does NOT:

  • Verify signatures (check if the token is authentic)
  • Validate expiration (exp claim)
  • Check issuer (iss) or audience (aud)
  • Send data to any server

For signature verification, use a proper JWT library with access to the secret key or public key.

Common Use Cases

  • Debug Authentication: Inspect JWTs from API responses to see user claims
  • Check Token Expiration: View exp (expiration) and iat (issued at) timestamps
  • Verify Permissions: See roles, scopes, or custom claims embedded in tokens
  • API Testing: Decode tokens from OAuth flows, login responses, or bearer tokens
  • Learn JWT Structure: Understand how JWTs encode data in base64url format
  • Troubleshoot Authorization: Check if expected claims are present in tokens

Common JWT Claims

  • sub (Subject): User ID or identifier
  • iss (Issuer): Who issued the token (e.g., auth0.com)
  • aud (Audience): Intended recipient(s) of the token
  • exp (Expiration): Unix timestamp when token expires
  • iat (Issued At): Unix timestamp when token was created
  • nbf (Not Before): Token is not valid before this time
  • jti (JWT ID): Unique identifier for the token
  • Custom claims: email, roles, permissions, name, etc.

Security Reminders

  • Never trust decoded data without verification—anyone can create a JWT with any claims
  • Signature verification requires the secret key—this tool cannot verify signatures
  • JWTs are encoded, NOT encrypted—anyone can decode and read the payload
  • Don't store sensitive data in JWTs—payloads are publicly readable
  • Always use HTTPS—JWTs in transit should be encrypted at the transport layer
  • Validate exp/iat/nbf claims—check token expiration and validity in your backend

Tips

  • Copy the decoded JSON to analyze claims in your code editor
  • Check the alg (algorithm) in the header—none is insecure and should never be used in production
  • Unix timestamps (exp, iat) can be converted to human-readable dates using tools or new Date(exp * 1000)
  • If you see "Invalid JWT" errors, ensure you copied the entire token including all three segments

Frequently Asked Questions

Most Viewed Tools

🔐

TOTP Code Generator

2,997 views

Generate time-based one-time passwords from a TOTP secret key. Enter your base32 secret, choose a period and digit length, and get the current and next codes with a live countdown timer. Useful for testing and debugging 2FA integrations.

Use Tool →
{ }

JSON to Zod Schema Generator

2,982 views

Generate Zod validation schema code from a JSON sample object. Infers z.string(), z.number(), z.boolean(), z.array(), z.object(), and z.null() types automatically. Handles nested objects, arrays of objects with optional field detection, and outputs copy-ready TypeScript with import and z.infer type alias.

Use Tool →
{}

JSONL / NDJSON Formatter

2,912 views

Format, validate, and inspect JSON Lines (JSONL) and NDJSON files. Validates each line individually, reports parse errors by line number, outputs compact JSONL or a pretty-print preview, and lets you download the cleaned file.

Use Tool →
🔍

Secret and Credential Scanner

2,521 views

Scan pasted text, code, or config files for accidentally exposed API keys, tokens, passwords, and private keys. Detects 50+ secret types across AWS, GitHub, Stripe, OpenAI, and more — all client-side, nothing leaves your browser.

Use Tool →
🔐

TLS Cipher Suite Checker

2,486 views

Check TLS protocol version compatibility and cipher suite strength ratings against current best practices. Supports IANA and OpenSSL cipher names — rates each suite as Strong, Weak, or Deprecated and explains why.

Use Tool →
🔑

Password Entropy Calculator

2,484 views

Calculate the information-theoretic bit entropy of any password or API key. Detects character set pools automatically, shows the total number of possible combinations, and estimates crack time across five attack scenarios from rate-limited web logins to GPU cracking clusters.

Use Tool →

TOML Config Validator

2,247 views

Validate TOML configuration file syntax and report errors with line numbers. Paste any TOML content — Cargo.toml, pyproject.toml, config.toml — and instantly see a green checkmark with key counts and structure stats, or a precise error message pointing to the exact line. Includes a collapsible JSON structure preview to confirm what was parsed.

Use Tool →
🔒

Content Security Policy Generator

2,112 views

Build Content Security Policy headers interactively. Toggle directives like script-src, style-src, and img-src, select allowed source tokens, and add custom origins. Instantly outputs your CSP as an HTTP header, meta tag, Nginx directive, or Apache header.

Use Tool →

Related API & Backend Tools

OpenAPI Spec Validator

Validate OpenAPI 2.0 (Swagger) and OpenAPI 3.0/3.1 specification files for compliance, missing required fields, unresolved $ref paths, and schema errors. Paste JSON or YAML or upload a file — errors and warnings are listed by path with severity levels and actionable fix suggestions. All validation runs entirely in your browser.

Use Tool →
📝

REST Endpoint Documenter

Document a REST endpoint quickly by entering the URL, method, headers, and sample request/response. Generates formatted Markdown documentation and an example cURL command instantly.

Use Tool →
🔧

HTTP Request Headers Generator

Generate common HTTP request headers for authentication, content-type, caching, and security. Toggle each category, configure values, and copy the output as raw key-value pairs, JSON, fetch(), cURL, or axios.

Use Tool →
📊

Rate Limit Header Parser

Parse and visualize X-RateLimit headers from raw HTTP API responses. Paste response headers to instantly see your quota state — limit, remaining, used, and reset time — displayed as color-coded progress meters. Supports GitHub, OpenAI, Twitter/X, Shopify, and IETF standard rate limit headers.

Use Tool →
🔄

Postman to OpenAPI Converter

Convert Postman Collection v2.1 JSON to OpenAPI 3.0 specification format. Upload or paste your collection, and get a downloadable openapi.yaml or openapi.json with mapped paths, parameters, request bodies, and example responses.

Use Tool →
🔌

API Tester

Test HTTP API endpoints directly in your browser. Make GET, POST, PUT, PATCH, and DELETE requests with custom headers and request bodies. View status codes, response headers, and pretty-printed JSON responses — all client-side, no server proxy.

Use Tool →
🔀

CORS Header Generator

Build CORS configuration headers interactively for web servers and APIs. Set allowed origins, methods, request headers, credentials, and preflight cache duration — then copy the generated Access-Control headers or ready-to-paste code snippets for nginx, Express.js, Flask, and .NET.

Use Tool →
{}

GraphQL Variables Formatter

Format and validate GraphQL query variables JSON for use in queries and API clients. Paste your variables JSON alongside a GraphQL query to instantly format the JSON, validate that each variable matches its declared type, catch missing required variables, and highlight undeclared extras.

Use Tool →

Share Your Feedback

Help us improve this tool by sharing your experience

We will only use this to follow up on your feedback