All tools

JWK Viewer

JWT

Parse a JSON Web Key Set (JWKS) or a single JWK and view each key's type, use, algorithm, key ID, and size in a readable table

Paste a JWKS document, like the one served from a `/.well-known/jwks.json` endpoint, or a single bare JWK, and see each key's type, intended use, algorithm, and key ID laid out clearly instead of squinting at raw JSON. It flags duplicate key IDs across a key set automatically, which is exactly the detail worth checking first when a JWT verification step is failing with a "no matching key" error. Approximate key size is reported for RSA and symmetric keys based on their encoded length; for elliptic-curve and OKP keys, the named curve is shown instead of a bit count, since that's the more meaningful number for those key types. This is inspection only: it never uses a key to actually verify a signature, so validating a real JWT against one of these keys is a job for the companion JWT Decode / Verify tool.

jwkjwksjwtoauthoidckeys

How to use JWK Viewer

  • 1.Paste a JWKS document (the JSON your OAuth/OIDC provider serves at /.well-known/jwks.json) to see every key's type, use, algorithm, and key ID at a glance.
  • 2.Paste a single bare JWK object (not wrapped in a "keys" array) and it's detected automatically.
  • 3.Check the duplicate-kid warning when debugging a "no matching key" JWT verification error: a repeated key ID across entries is a common root cause.

Frequently asked questions

Does this verify or use the keys to check a signature?
No, it only inspects and summarizes the key fields. Use JWT Decode / Verify if you need to actually validate a token against a key.
What's the difference between a JWK and a JWKS?
A JWK is a single JSON Web Key object; a JWKS (JSON Web Key Set) is the { "keys": [...] } wrapper most identity providers publish so clients can look up the right key by kid.
How is key size calculated?
For RSA and oct keys it's estimated from the base64url-encoded modulus/key length; for EC and OKP keys the curve name (e.g. P-256) is shown instead of a bit size, since curve strength isn't a single byte length.
Is my key data sent anywhere?
In the browser tool, no: parsing happens entirely client-side. Avoid pasting private key material (JWKS endpoints normally only publish public keys, so this is rarely a concern in practice).

Use via API, SDK, or MCP

cURL# Free: 1,000 req/day · Pro: 10,000 req/day
curl -X POST https://api.utilix.tech/v1/tools/jwk-viewer \
  -H "Authorization: Bearer utx_live_..." \
  -H "Content-Type: application/json" \
  -d '{"input":"{\"keys\":[{\"kty\":\"RSA\",\"use\":\"sig\",\"kid\":\"1\",\"n\":\"...\",\"e\":\"AQAB\"}]}"}'

Get an API key from your dashboard · Full API docs →