RSA Key Generator
Generate RSA, ECDSA or Ed25519 key pairs in your browser, export them as PEM or JWK, and try encryption and signing with them.
A 4096-bit RSA key can take 10–60 seconds to generate. The page will look frozen while the browser works.
Public key
Private key
Keep this secret. It is generated in your browser and never sent anywhere, but anyone who sees it can impersonate you.
How to generate a key pair
- Choose what the key is for: RSA-OAEP to encrypt data, RSA-PSS or RSASSA-PKCS1-v1_5 for classic RSA signatures, or ECDSA / Ed25519 for small, fast signing keys.
- Pick the key size and hash, then press Generate key pair. 2048-bit RSA takes about a second; 4096-bit can take a minute.
- Copy or download the PEM files. Switch Export format to JWK if you need the JSON form used by JOSE and JWT libraries.
FAQ
Is the private key safe?
The pair is created by your browser's Web Crypto API and exists only in this tab's memory until you download it. There is no network request, no logging and nothing is stored — reload the page and the key is gone forever.
Which key size should I pick?
2048-bit RSA is the normal default and is fine into the 2030s; 3072-bit matches the 128-bit security level recommended by NIST. For new systems prefer Ed25519 or ECDSA P-256 — they are far smaller and much faster for the same strength.
Can I use these keys with OpenSSL or SSH?
The PEM files are standard PKCS#8 (private) and SPKI (public), so openssl pkey -in private.pem reads them directly. For SSH, convert with ssh-keygen -i -m PKCS8 -f public.pem.