SD-JWT is a JWT format that lets an issuer sign a set of claims once and lets the holder disclose only selected fields to a verifier, without breaking the signature. This page decodes and validates SD-JWTs entirely in your browser — no tokens are logged or sent anywhere.
An SD-JWT is a signed JWT whose payload contains hashes of individual claim disclosures rather than the claims themselves. Each disclosure is a base64url-encoded array of [salt, claim_name, claim_value]. The holder chooses which disclosures to present alongside the JWT; the verifier hashes each disclosure and matches it against the _sd array in the payload to reconstruct only the disclosed claims.
An optional key-binding JWT proves the holder controls a key referenced by the SD-JWT's cnf claim. It is signed by the holder and appended after the disclosures, separated by a ~ character. Its sd_hash claim binds the KB-JWT to the exact SD-JWT and disclosure set being presented.
This tool verifies signatures for RS256/384/512, PS256/384/512 and ES256/384/512. Symmetric algorithms (HS*) are intentionally rejected since they cannot be safely verified from a public key.
The SD-JWT specification is RFC 9901.