ES256 JWT Decoder & Verifier
Paste an ES256-signed JWT to decode its claims. Enter the ECDSA P-256 public key (PEM or JWK) to verify the signature — smaller and faster than RSA, verified locally in your browser.
100% in-browser — nothing uploadedEncoded JWT
Decoded Header
Paste a token to decode this segment.
Decoded Payload
Paste a token to decode this segment.
Verify Signature
Features
100% private
Your token is decoded entirely in your browser. Nothing is uploaded, logged, or sent to any server or API.
Instant decoding
Paste a JWT and the header, payload, and claims are decoded in real time — no button required.
Human-readable claims
Standard claims like exp, iat, and nbf are explained and shown as readable dates with expiry status.
Signature verification
Verify HS256/384/512 with a secret, or RS, PS, and ES algorithms with a public key — all client-side.
What is ES256 in a JWT?
ES256 is ECDSA (Elliptic Curve Digital Signature Algorithm) using the P-256 curve with SHA-256. Like RS256, it is an asymmetric algorithm — sign with a private key, verify with a public key — but EC keys are much shorter than RSA keys for equivalent security. A P-256 EC key provides 128 bits of security with just 32-byte keys, compared to 256-byte keys needed for comparable RSA security.
The compactness of EC keys makes ES256 particularly attractive for mobile applications, IoT devices, and performance-sensitive systems. ECDSA signatures in JWTs are stored as a fixed-size 64-byte value (two 32-byte integers r and s), regardless of payload length. Apple uses ES256 for Apple Sign In, and it is increasingly adopted in modern identity systems.
To verify an ES256 JWT above, paste the token and enter the EC public key in the Signature tab. Public keys can be provided as PEM (-----BEGIN PUBLIC KEY-----) or as a JWK with kty: EC and crv: P-256. The tool verifies using the browser's Web Crypto API with no data transmitted.
ES256 at a glance
- Full name
- ECDSA using P-256 and SHA-256
- Algorithm family
- ECDSA (asymmetric)
- Curve
- P-256 (secp256r1 / prime256v1)
- Key size
- 256-bit EC key (32 bytes per coordinate)
- Signature size
- 64 bytes (two 32-byte integers)
- Security level
- 128 bits
How to decode a JWT token online
Paste your token
Copy a JSON Web Token and paste it into the encoded box. You can also load the example token to try it out.
Read the decoded data
The header and payload are decoded instantly. Switch to the Claims tab for plain-English explanations and expiry status.
Verify the signature
Enter the secret (HMAC) or public key (RSA/ECDSA) to confirm the token is authentic and hasn't been tampered with.