Security Tools
RSA and EC Key Pair Generator
Generate RSA, ECDSA, ECDH, or Ed25519 key pairs in your browser. PEM PKCS#8 private, PEM SPKI public, JWK, and SHA-256 fingerprint. No upload.
Algorithm
Generated in your browserClassic RSA signing. Used for JWT RS256 / RS384 / RS512, X.509 certificate signatures, code signing, and most legacy interop.
RSA
Elliptic Curve
Edwards Curve
RSA parameters
Modulus length
112-bit security. The current CA/Browser Forum minimum and the most widely deployed RSA key size.
Signature / OAEP hash
SHA-256 is the JOSE default and matches RS256 / PS256 / RSA-OAEP-256. Pick a larger hash only when the consumer requires it.
Generate
Randomness comes from your browser CSPRNG via window.crypto.subtle.generateKey. Nothing is uploaded.
How to use
- Pick an algorithm. RSA (RSASSA-PKCS1-v1_5) is the safe default for JWT RS256, X.509 signing, and most legacy interop. ECDSA P-256 or Ed25519 are smaller and faster for new flows.
- For RSA, choose a modulus length (2048-bit is the current CA/Browser Forum minimum; 3072-bit is recommended for new long-lived keys; 4096-bit suits CAs and code signing) and a hash (SHA-256 matches RS256, PS256, and RSA-OAEP-256).
- For ECDSA or ECDH, pick a curve. P-256 covers ES256 JWTs and the vast majority of TLS, P-384 lines up with ES384 and CNSA Suite 1.0, and P-521 with ES512.
- Click Generate key pair. A new pair is created in the browser tab using window.crypto.subtle.generateKey. Click Regenerate to get a fresh one.
- Copy the PEM private key (PKCS#8) into a file with restrictive permissions, paste the PEM public key into your verifier, and use the JWK output to populate a JWKS endpoint. The SHA-256 SPKI fingerprint matches the one OpenSSL prints with openssl pkey -pubout -outform DER | openssl dgst -sha256.
About this tool
RSA and EC Key Pair Generator creates fresh asymmetric key pairs entirely in your browser using the Web Crypto API. Pick an algorithm family (RSA with RSASSA-PKCS1-v1_5, RSA-PSS, or RSA-OAEP padding; ECDSA or ECDH on a NIST curve; or Ed25519 when the browser supports it), choose a modulus length or curve, then click Generate. The tool outputs the private key as PEM PKCS#8 (-----BEGIN PRIVATE KEY-----), the public key as PEM SPKI (-----BEGIN PUBLIC KEY-----), both keys as JSON Web Keys (RFC 7517 / 7518 / 8037) annotated with a JOSE alg hint, and a SHA-256 fingerprint of the SPKI that matches openssl pkey -pubout -outform DER | openssl dgst -sha256. RSA keys default to e equal to 65537 and the JOSE-standard SHA-256 hash, matching what JWT, JWE, and TLS implementations expect. EC keys use the NIST named curves P-256, P-384, and P-521, the ones supported by every mainstream JWT library and TLS stack. Ed25519 is offered only when the host browser exposes it through crypto.subtle, with a single-line SSH authorized_keys export ready to paste into a server. Randomness comes from the host CSPRNG, generation happens in your tab, and the keys are discarded when you close or reload the page. Nothing is uploaded.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
PEM Public Key Inspector
Decode PEM public keys: RSA modulus, EC curve, JWK, SSH line, fingerprints.
Open tool
SecurityCSR Decoder
Decode PKCS#10 CSRs: subject, SANs, key, extensions, fingerprints, signature check.
Open tool
SecuritySSL Certificate Decoder
Decode PEM X.509 certificates with subject, issuer, validity, SANs, key info, extensions, and SHA fingerprints.
Open tool
SecuritySSH Key Fingerprint Generator
SHA-256 and MD5 fingerprints for OpenSSH public keys, locally.
Open tool
DeveloperJWT Generator
Sign HS256, HS384, and HS512 JWTs with editable claims and expiry helpers.
Open tool
DeveloperJWT Verifier
Verify HS, RS, PS, and ES signatures plus exp, nbf, iss, aud claims.
Open tool