Free, browser-based utilities for everyday developer workflows

JWT Decoder

Decode JSON Web Tokens (JWTs) in your browser. This tool decodes the header and payload using Base64URL and formats them as JSON. It can verify HMAC signatures (HS256/384/512) when you provide the shared secret. Do not paste secrets or tokens you do not control.

  • Decode JWT header and payload instantly.
  • Inspect claims like exp, iat, aud, iss.
  • Verify HMAC signatures (HS256/384/512) with a secret.
  • Share results: Generate a secure link to share your current input and results with teammates — nothing is uploaded to any server.

Token input

Paste a full JWT below in the format header.payload.signature. Only the first two parts are decoded; the signature is shown as-is.

Header
Payload (claims)
Signature (Base64URL)
Not verified
Algorithm: -

Signature verification in this page is limited to HS256, HS384, and HS512 when you provide the shared secret. For RS256, ES256, and other asymmetric algorithms, use the JWT & OAuth Security Toolkit.

Open JWT & OAuth Security Toolkit

Decode vs verify vs validate

Decodereads Base64URL header and payload. Anyone holding the token can do this — JWT is signed, not encrypted.

Verifychecks the signature with a trusted secret or public key to confirm the token was not tampered with.

Validatechecks claims (exp, nbf, iss, aud, expected algorithm) for your application's context.

Structure & status

Signature verification status is shown independently above. Claim timing being valid is not the same as cryptographic verification.

Registered claims

Decode a JWT to inspect claims.

Expected claim validation

Optional. Provide expected values to validate against.

Timeline

UTC, local time, and relative status for iat / nbf / exp.

Header analysis

Decode a JWT to analyze header fields (alg, typ, kid, jku, jwk, x5u, x5c, crit, zip).

Scopes, roles & permissions

No authorization claims detected yet.

OAuth / OIDC profile

Detect likely token profile after decoding.

Security review

No findings yet.

Sensitive payload scan

JWT payload is readable. Do not store secrets in it.
No sensitive claim values detected yet.

Compare two tokens

Old vs refreshed, dev vs prod, user vs admin.

Sanitized output & exports

Masked by default — never includes HMAC secret. Raw exports show a warning.

Next Steps

Sanitized output is handed off — never HMAC secrets.

JWT & OAuth Security Toolkit

RS256 / ES256 / PS / EdDSA verification, signing, and JWKS workflows.

JWK / JWKS / PEM Converter

Convert PEM keys ↔ JWK / JWKS for verification.

Timestamp Converter

Inspect exp / iat / nbf in different time zones.

JSON Formatter / Validator

Pretty-print the decoded payload.

JSON Diff

Compare decoded payloads order-insensitively.

Text Diff & Compare

Compare raw tokens or sanitized payloads.

Secrets Scanner

Scan payload for secret-like values before sharing.

PII Detector & Redactor

Redact personal data before sharing the payload.

HTTP Headers Parser

Re-inspect the Authorization header safely.

URL Parser & Query Builder

Strip access_token / id_token from URLs.

cURL Converter

Inspect or rebuild the request that carried the token.

Base64 Encoder / Decoder

Debug individual Base64URL segments.

How to use JWT Decoder

Decode JWT headers and claims locally to inspect exp, aud, iss, scopes, roles, and token structure before debugging API authentication or OAuth flows. The decoder also extracts JWTs from Authorization: Bearer headers, cURL commands, URL query parameters (access_token / id_token), JSON payloads, cookies, and log snippets — runs entirely in your browser.

What it does

When to use it

How to use it

Tips & pitfalls

FAQ

Runs locally in your browser. No uploads. No analytics on pasted JWTs or HMAC secrets.