Generate real Ed25519 (signing) and X25519 (ECDH key-agreement) key pairs using the browser's native SubtleCrypto — the same curve25519 primitives used by SSH, TLS 1.3, WireGuard, and Signal. Export as raw bytes, SPKI/PKCS8 PEM, or JWK, sign & verify a message, and watch a live X25519 shared-secret derivation between two parties. Keys are generated and used only in memory; nothing is transmitted.
⚠ Not supported: this browser's Web Crypto implementation doesn't support the Ed25519 / X25519 algorithms yet. Try a recent Chrome, Edge, Firefox, or Safari.
⚠ Note: keys are generated with crypto.subtle.generateKey and exist only in this tab's memory — reloading the page destroys them. This is a scratch tool for learning, testing, and prototyping, not a substitute for a vetted key-management workflow.
Ed25519 signing key pair
Sign & verify
X25519 key agreement (ECDH) demo
Alice and Bob each generate an X25519 key pair, exchange public keys, and independently derive the same 256-bit shared secret — without ever sending a private key or the secret itself over the wire.