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 uploaded

Encoded JWT

HeaderPayloadSignature
Awaiting a token — everything is decoded locally in your browser.

Decoded Header

Paste a token to decode this segment.

Decoded Payload

Paste a token to decode this segment.

Verify Signature

Enter the secret to verify the 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.

ES256 algorithm explained

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
Step by step

How to decode a JWT token online

1

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.

2

Read the decoded data

The header and payload are decoded instantly. Switch to the Claims tab for plain-English explanations and expiry status.

3

Verify the signature

Enter the secret (HMAC) or public key (RSA/ECDSA) to confirm the token is authentic and hasn't been tampered with.

FAQ

Frequently asked questions