Skip to content

JWT Verifier

Runs in your browser

Paste a token and the secret or public key it should have been signed with. The signature is recomputed in this tab with WebCrypto.

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

How this one works

The algorithm comes from the token's header, and the key field follows it: a secret for HS256, HS384 and HS512, a public key for RS, PS, ES and EdDSA. The browser's built-in WebCrypto recomputes the signature over header.payload and compares it in constant time.

Public keys can be pasted as a PEM block, an X.509 certificate, a JWK or a whole JWKS. With a JWKS, the key whose kid matches the token's is used. A secret is read as plain text unless you switch it to Base64, because the same characters are different bytes.

Questions

Does my secret or key get sent anywhere?

No. It's held in memory in this tab and passed to WebCrypto, which runs in your browser. It isn't saved to storage either, so closing the tab forgets it.

Why does a valid-looking token say the signature does not match?

Most often the wrong key: an old key after the issuer rotated, the staging key for a production token, or a secret stored as Base64 read as plain text. If none of those, the token was changed after it was signed.

The signature is valid: is the token safe to accept?

Not by itself. Also check exp and nbf, that iss and aud are what you expect, and that the alg is the one your server requires rather than whatever the token claims. The checks under the claims cover the first part.

Can I paste a private key?

It works, and only the public half is used, but a private key should never be pasted into a web page. Export the public key instead.

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