Zero Signup ToolsFree browser tools

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 browser

Classic RSA signing. Used for JWT RS256 / RS384 / RS512, X.509 certificate signatures, code signing, and most legacy interop.

RSA

Elliptic Curve

Edwards Curve

Checking browser support...

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

  1. 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.
  2. 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).
  3. 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.
  4. 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.
  5. 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

All tools
All toolsSecurity Tools