RSA • ECDSA • ECDH • PEM Format • 100% Local, Never Transmitted
This tool generates a public/private key pair entirely using your browser's native Web Crypto API — key generation and PEM export are both handled by the browser's own cryptographic implementation, so no cryptographic algorithm is reimplemented by hand here. RSA supports two purposes: RSA-OAEP for encryption/decryption, or RSASSA-PKCS1-v1_5 for signing/verification, with a choice of 2048, 3072, or 4096-bit key size (larger keys are stronger but slower to generate and use). ECC (Elliptic-Curve Cryptography) offers equivalent security to RSA at much smaller key sizes, with two purposes: ECDSA for signing/verification, or ECDH for key agreement (deriving a shared secret between two parties, commonly used to then encrypt with a symmetric cipher like AES) — note that ECC in the Web Crypto API doesn't support direct encryption the way RSA-OAEP does.
Keys are exported and displayed in standard PEM format (Base64-encoded, wrapped at 64 characters per line, with the usual -----BEGIN/END----- markers), which is widely compatible with OpenSSL, SSH tooling, and most cryptographic libraries.
Nothing is transmitted anywhere. Key generation happens entirely in this browser tab, and closing or refreshing the page permanently discards both keys — this tool does not store or remember anything.