Skip to content

JWT Decoder

Runs in your browser

Paste a token to read its claims, check its signature and see when it expires, all on one screen.

Paste a token to see what it says, whether its signature holds and when it expires

How this one works

A JWT is three Base64URL strings joined by dots: a header saying how it was signed, a payload of claims, and a signature. The field colours each part as you type, and a part that fails to decode is underlined.

Each claim is listed with what it means, covering the standard claims, OpenID Connect and the ones Microsoft, Amazon Cognito and Firebase add. Times such as exp are shown in your local time zone. Switch a panel to JSON to copy it.

The signature is checked with your browser's WebCrypto. HS256, HS384 and HS512 need the shared secret; RS, PS, ES and EdDSA tokens need the issuer's public key, as PEM, a certificate, a JWK or the whole JWKS. The checks list what a reviewer would flag, such as a missing exp or an unsigned token.

Questions

Is it safe to paste a real token here?

Nothing you paste leaves the tab: decoding and verifying are plain JavaScript and WebCrypto, with no server to send to. Still, a live token pasted anywhere is worth treating as exposed. Rotate it if it grants real access.

Does decoding prove the token is genuine?

No. The header and payload are only encoded, so anyone can write a token that decodes. Only a valid signature shows the claims came from whoever holds the key, which is why the signature is checked on the same screen.

Where do I find the public key for an RS256 token?

Identity providers publish their keys as a JWKS, usually at /.well-known/jwks.json on the issuer's domain (the iss claim). Open it, copy the whole JSON and paste it into the key field. The key matching the token's kid is picked for you.

Why does it say my token has five parts?

Five dot-separated parts means a JWE, an encrypted token. Its payload can only be read with the decryption key, so it can't be decoded here.

Keyboard shortcuts

Global

  • Show this shortcuts dialogShift?
  • Toggle light / dark themeCtrlShiftL
  • Close dialogsEsc

Formatter & Validator

  • Format JSONCtrlEnter
  • Minify JSONCtrlShiftM
  • Copy outputCtrlShiftC
  • Download output as .jsonCtrlShiftS
  • Clear input and outputCtrlShiftX

Tree Viewer

  • Focus the search box/
  • Expand all nodesCtrlShiftE
  • Collapse all nodesCtrlShiftR

Diff

  • Swap document A and BCtrlShiftS

Time & date tools

  • Use the current time (Epoch Converter)CtrlEnter
  • Copy the main resultCtrlShiftC
  • Clear the inputCtrlShiftX

PHP Unserialize & Serialize

  • Convert an input over 2 MBCtrlEnter
  • Copy outputCtrlShiftC
  • Download outputCtrlShiftS
  • Clear input and outputCtrlShiftX

Keys & IDs

  • Generate a new token or UUID batchCtrlEnter
  • Copy the resultCtrlShiftC

JSON tools

JSON FormatterPretty-print or minify
JSON ValidatorCheck strict JSON validity
JSON Tree ViewerBrowse JSON as a tree
JSON DiffCompare two documents
JSON Path FinderExplore JSONPath expressions
JSON to CSVFlatten JSON into rows
CSV to JSONTurn rows back into objects
PHP UnserializeSerialized PHP to JSON
PHP SerializeJSON to serialized PHP

JWT tools

JWT DecoderClaims, signature and expiry
JWT VerifierWith a secret, PEM key or JWKS
JWT Expiry Checkeriat, nbf and exp in local time
JWT GeneratorBuild a signed test token
Base64URL EncoderEncode or decode a segment

Time & date tools

Epoch ConverterTimestamps to real dates
Cron Expression ExplainerCron in plain English
Time Zone ConverterOne moment, many cities
Duration CalculatorDate maths and durations

Keys & IDs

Password GeneratorSecure random secrets
UUID Generatorv1, v4, v5 or v7 UUIDs

Code formatters

SQL FormatterBeautify or minify SQL
HTML FormatterBeautify or minify HTML
CSS FormatterBeautify or minify CSS
JavaScript FormatterBeautify or minify JS
PHP FormatterBeautify PHP code
Markdown to HTMLConvert with a live preview

AI tools

Token CounterTokens for every model
Prompt Secret ScrubberHide keys and personal data

Pages

JSON toolsFormat, validate, compare and convert JSON.
JWT toolsDecode, verify and generate JSON Web Tokens.
Time & date toolsConvert timestamps, read cron, compare zones.
Keys & IDsGenerate secure tokens, passwords and UUIDs.
Code formattersFormat SQL, HTML, CSS, JavaScript and PHP code.
AI toolsCount tokens and hide secrets before you prompt.
HomePopular tools and categories
All categoriesBrowse tools by category
AboutWhat ToolJar is and why
PrivacyWhat is and is not collected

Theme

Switch to light theme
Switch to dark theme