ecdsa.com

Local-first: nothing you paste ever leaves your browser

The home of digital signatures.

ECDSA signs most of the modern internet — TLS, SSH, JWTs, passkeys, Bitcoin and Ethereum. When a signature refuses to verify, this is where you debug it: free tools that auto-detect curves, formats and encodings, and explain what is actually wrong.

Detected locally in your browser — nothing you paste leaves the page.

13
free tools

no paywall, no trial

100%
client-side crypto

WebCrypto in your browser

0
accounts required

open a tool and paste

2035
NIST draft horizon

classical signatures disallowed

Signature Lab

Every tool works offline-grade: pure client-side cryptography, no accounts, no telemetry on your data.

ECDSA Signature Verifier

Verify any ECDSA signature

Paste a public key, message and signature — auto-detects curve (P-256, P-384, P-521, secp256k1), signature format (DER or raw) and encoding, then verifies locally in your browser.

Open tool

JWT ES256 Debugger

Decode & verify ES256/ES384/ES512 tokens

Decode a JWT, inspect header and claims, verify ECDSA-signed tokens (ES256, ES384, ES512) against a public key, and get a plain-English explanation of what is wrong.

Open tool

DER ⇄ Raw Converter

Convert signature formats

Convert ECDSA signatures between ASN.1 DER and raw r‖s (IEEE P1363) formats, inspect r and s values, and detect non-canonical high-S signatures.

Open tool

X.509 Certificate Decoder

Inspect certificates

Decode a PEM or DER certificate: subject, issuer, validity, key algorithm and curve, signature algorithm, extensions — with notes on deprecated algorithms and post-quantum readiness.

Open tool

Test Vector Generator

Generate keys & signatures for your tests

Generate reproducible ECDSA test vectors: key pairs, messages and signatures for any curve and hash, exported as JSON, JWK and PEM — including deliberately invalid vectors for negative tests.

Open tool

SSH Key Inspector

Decode authorized_keys entries

Paste an OpenSSH public key or a whole authorized_keys file: key type, curve or size, SHA-256 and MD5 fingerprints, comments — with an assessment of deprecated key types.

Open tool

Library Interop Cheatsheet

Why library A's signature fails in library B

An interactive matrix of how OpenSSL, Node.js, WebCrypto, Go, Python and Java handle ECDSA: default signature formats, high-S policy, deterministic nonces — pick a signer and a verifier to get a compatibility checklist.

Open tool

JWKS & OIDC Checker

Check the key set behind your tokens

Enter a JWKS URL, an OpenID configuration or just the issuer domain — the checker fetches what your provider actually serves and reports key sizes, kid coverage, duplicate identifiers, expired certificates, private material published by mistake, and the algorithms advertised.

Open tool

WebAuthn / Passkey Inspector

Decode passkey registration & login

Decode what the browser returns from navigator.credentials.create() and .get(): clientDataJSON, attestation object, authenticator data flags bit by bit, AAGUID, credential ID and the COSE public key — then verify the login signature locally.

Open tool

Elliptic Curve Playground

See the math behind the signatures

An interactive visualization of an elliptic curve over a small prime field: point addition, scalar multiplication and why reversing it is hard — the intuition behind every ECDSA key.

Open tool

How the Lab works

Built like a workbench, not a web service: the page is the whole machine.

  1. 01

    Paste your material

    A public key, a JWT, a certificate, a stubborn signature — whatever refuses to verify. No sign-up, no upload button.

  2. 02

    Analyzed in your browser

    Curves, formats and encodings are auto-detected and checked with WebCrypto, right in the tab. The network stays silent.

  3. 03

    An answer, with the why

    Not just valid or invalid — the tools test the usual mismatch causes and explain the actual mechanism, in plain English.

New research · 500 domains measured

The State of Signatures on the Web

We scanned the busiest sites on the internet with the same engine that powers our domain grader. RSA still outweighs ECDSA 62/38, a quarter of them still answer a TLS 1.0 handshake, and barely one percent would survive the 47-day certificate limit arriving in 2029. Charts, methodology and the raw data are all public.

Read the report

Beyond the Lab

Two bigger checks for the things you run in production:

NIST IR 8547

ECDSA has a retirement date.

NIST's draft transition plan would disallow today's elliptic-curve and RSA signatures after 2035, in favor of post-quantum algorithms. Meanwhile, TLS certificate lifetimes are shrinking from 200 days (2026) to 47 days (2029). Knowing exactly where and how your systems sign things stops being optional well before either date.

Countdown to 2035

00days
00hours
00min
00sec

…until NIST IR 8547 (initial public draft) would have classical signature algorithms — ECDSA, EdDSA and RSA, at every key size — disallowed for federal use. That is the date P-256 and RSA-3072 are measured against.

One earlier step, ~ years out: 112-bit parameter sets — RSA-2048 and P-224 — are deprecated after 2030, meaning still usable but carrying acknowledged risk. Planned, not urgent — but the inventory that makes either date manageable takes longer to build than the swap itself.

Learn

The concepts behind the tools — short, precise, and free of hand-waving.

All articles

Free course · 7 lessons

Signatures by Hand

Learn ECDSA by computing it. Add points on a tiny curve, derive a public key, produce a signature by hand — then do the real thing on P-256 and diagnose one that fails.

Start the course

What's next

The Lab is step one. We are building the platform around it:

  1. Available now

    Repository scanner

    A zero-dependency CLI that maps every place your code signs or verifies: libraries, curves, key handling, JWT configuration — with findings ranked by confidence. Text, JSON and SARIF output.

    npx ecdsa-scan . →
  2. In development

    Signing inventory

    One map from repository to key to environment: which keys exist, what they sign, which algorithms they use, and what needs to migrate before the post-quantum deadlines.

  3. Planned

    Runtime monitoring

    Read-only integrations with AWS KMS and Vault that turn raw signing events into a clear picture: which key signed what, from where, and under which policy.

Frequently asked questions

Is it really local?
Yes. The tools do their cryptography with WebCrypto and pure TypeScript inside your browser tab — open your browser's network inspector and watch: verifying a signature sends nothing. The one documented exception is the Nonce Reuse Checker, which queries the public mempool.space API for a Bitcoin address's transaction history; the tool says so on its page.
Why trust these tools?
Mostly, you don't have to — since your keys, tokens and signatures never leave the page, the usual trust question disappears. Beyond that, the tools build on standard primitives (WebCrypto, well-known curve parameters) and are exercised against reference test vectors, including deliberately invalid ones.
What are the NIST deadlines?
NIST IR 8547 (still an initial public draft) plans to disallow classical signature algorithms — ECDSA, EdDSA and RSA — after 2035, in favor of post-quantum algorithms like ML-DSA. One step comes earlier, and only for the weakest parameter sets: those at 112-bit security strength, meaning RSA-2048 and P-224, are deprecated after 2030. P-256, P-384 and RSA-3072 have no 2030 milestone — for them the date is 2035. Separately, US Executive Order 14412 (June 2026) runs ahead of that schedule for federal agencies: their high-value and high-impact systems must use post-quantum key establishment by 31 December 2030 and post-quantum signatures by 31 December 2031, with federal contractors expected to meet PQC-incorporating FIPS by the end of 2030.
Do you store anything?
Nothing you paste is stored or transmitted — there is no backend that receives it and no account to attach it to. The site uses anonymous page-view analytics (which pages are visited), and that is the extent of it.
Which curves and algorithms are supported?
The NIST curves P-256, P-384 and P-521, plus secp256k1 (Bitcoin/Ethereum), with SHA-256/384/512 hashes. On the JWT side: ES256, ES384 and ES512. Both signature encodings — ASN.1 DER and raw r‖s (IEEE P1363) — are auto-detected.
What's coming next?
The Lab stays free. Around it we are building the paid platform: a repository scanner that maps where your code signs and verifies, a signing inventory across keys and environments, and read-only runtime monitoring. See the roadmap above.