RSA/ECDSA Key Generator — PEM Keys for SSH, TLS & JWT
Generate RSA/ECDSA key pairs online for SSH, TLS, JWT, and OpenSSL. Export as PEM format. 100% browser-based — keys never leave your device.
Features
- ✓Two algorithm modes — RSA (2048/4096 bit) and ECDSA (P-256/P-384/P-521) for flexible cryptographic needs
- ✓Standard PEM output — exports public key in SPKI format and private key in PKCS#8 format, compatible with OpenSSL and most crypto libraries
- ✓Secure key generation — uses the Web Crypto API (crypto.subtle.generateKey) for cryptographically secure random key material
- ✓One-click copy — copy each key separately with a single click, with visual feedback
- ✓Save as .pem file — save public and private keys as individual PEM files
- ✓100% browser-based — all key generation happens client-side, your private key never leaves your device or touches any network
- ✓Key details panel — displays algorithm name, curve/size, format metadata for each generated key
- ✓Generation progress bar — shows real-time progress during RSA prime number search (especially helpful for 4096-bit keys)
How to Use
- 1Select the key algorithm: RSA for asymmetric encryption or ECDSA for digital signatures and modern applications.
- 2Choose the key size: for RSA select 2048 (default, recommended) or 4096 bits; for ECDSA select P-256, P-384, or P-521 curve.
- 3Click Generate — the tool creates a cryptographically secure key pair using the browser's Web Crypto API.
- 4Review the public and private keys displayed in PEM format. Click Copy to copy a key to your clipboard.
- 5Click Download to save a key as a .pem file for use in OpenSSL, SSH, or server configuration.
- 6Check the Key Details panel to see algorithm type, key size/curve, and format information for the generated pair.
- 7Watch the progress bar during RSA key generation — 2048-bit takes 2-5 seconds, 4096-bit may take 10-30 seconds on slower devices.
- 8Use the public key with TLS/SSL certificates: create a CSR with OpenSSL using your private key, then submit to a certificate authority.
- 9Use the key pair for JWT signing: configure your auth server to use the private key for signing tokens and distribute the public key for verification.
Frequently Asked Questions
What is the difference between RSA and ECDSA?
∨
What key sizes should I use?
∨
What is PEM format and how do I use these keys?
∨
Are the generated keys secure?
∨
Can I use these keys for SSH?
∨
Can I import these keys into other systems?
∨
Why is key generation sometimes slow?
∨
Do you store my private key?
∨
Can I generate keys for SSH authentication?
∨
What is the difference between PKCS#8 and SPKI PEM formats?
∨
Related Tools
Password Generator — Free Create Strong Random Passwords
Create strong, secure passwords with customizable length and character sets. Uses Web Crypto API for cryptographically secure generation. Browser-based.
UUID Generator — Validate & Decode UUIDs, All Versions
Generate, validate & decode UUID v1-v7, plus bulk NanoIDs and ULIDs. Paste a UUID to inspect its version, variant and timestamp. All client-side.
JWT Decoder — Decode, Verify & Debug JSON Web Tokens
Decode JSON Web Tokens instantly — view header, payload, and signature. Inspect claims with human-readable timestamps. Detects expired and weak tokens.
JSON Formatter — Beautify, Validate & Minify JSON Online
Format, minify, pretty-print, and syntax-highlight JSON data. Features key sorting, custom indentation, tree view, error highlighting, and file upload.
Hash Calculator — MD5, SHA-256 & 25+ Algorithms Online
Calculate hashes using 25 algorithms including MD5, SHA-256, SHA3, BLAKE3, and more. Supports HMAC, hash verification, and uppercase/lowercase output.