Shiklo Tools
PDF40
Image20
Calculators & Converters25
Text & Writing13
Developer26
Video14
Audio14
Document14
Data & Spreadsheet12
Web & SEO9
OCR & Scanning5
Archive & File12
Security & Privacy23
Health & Medical29
QR & Barcode5

RSA Key Generator

Generate RSA key pairs (2048, 3072 or 4096 bits) as PEM, OpenSSH and JWK, for signing or encryption — made on your device.

RSA key pairs are still everywhere: signing JSON Web Tokens (RS256), TLS certificate requests, SSH access to servers, encrypting small secrets, and testing APIs that use public-key cryptography. Generating one usually means OpenSSL commands or ssh-keygen; this tool does it in the browser with the Web Crypto API.

Choose the key size and what the key is for — RSASSA-PKCS1-v1_5 signing (RS256), RSA-PSS signing (PS256) or RSA-OAEP encryption — and press Generate. You get the private key as PKCS#8 PEM, the public key as SPKI PEM, as an OpenSSH ssh-rsa line for authorized_keys, and as a JWK for JWT and OAuth libraries, plus the SSH-style SHA-256 fingerprint. The keys are created on your device and never sent anywhere.

How to use RSA Key Generator

  1. Choose the key size: 2048, 3072 or 4096 bits.
  2. Choose what the key is for: signing or encryption.
  3. Optionally add a comment for the SSH key, such as your email address.
  4. Press Generate key pair and download the files you need.

Features

  • 2048, 3072 and 4096-bit keys.
  • Signing (RS256, PS256) or encryption (RSA-OAEP).
  • Private key in PKCS#8 PEM.
  • Public key in SPKI PEM, OpenSSH and JWK.
  • SSH SHA-256 fingerprint.
  • Generated with the Web Crypto API on your device.

Which key size?

Larger keys are stronger but slower to generate and use. 2048 bits is the minimum accepted today; 3072 bits matches the long-term strength recommended by NIST for use beyond 2030; 4096 bits adds margin at the cost of speed.

SizeTypical use
2048 bitsJWT signing, API testing, short-lived keys
3072 bitsLong-lived keys, compliance with current NIST guidance
4096 bitsSSH keys and certificates kept for many years

The formats

The private key is PKCS#8 PEM (BEGIN PRIVATE KEY), which OpenSSL, Node.js, Python, Java and Go read directly. The public key is SPKI PEM (BEGIN PUBLIC KEY), the standard form for verifying signatures. The OpenSSH line (ssh-rsa AAAA…) goes into a server's ~/.ssh/authorized_keys; to use the private key with SSH, OpenSSH 7.8 and later accept the PKCS#8 PEM file directly, or convert it with ssh-keygen. The JWK is the JSON form used in JWKS endpoints and JWT libraries.

Signing or encryption?

Web Crypto keys are created for one purpose. RSASSA-PKCS1-v1_5 with SHA-256 is the RS256 algorithm used by most JWT and OAuth systems; RSA-PSS (PS256) is its more modern signing scheme. RSA-OAEP is for encrypting small pieces of data such as symmetric keys. The key material is the same kind of RSA key, so other tools can use the PEM files for any purpose, but choosing the right one makes testing in the browser straightforward.

Keeping the private key safe

Anyone with the private key can sign as you or decrypt your data, so treat it like a password: store it in a password manager, a secrets vault or a protected file, never in a public repository. The PEM file produced here is not protected by a passphrase; add one with OpenSSL if you need to. Share only the public key. For SSH, modern Ed25519 keys made with ssh-keygen are a good alternative to RSA.

Private

Keys are generated by your browser's own cryptography using the operating system's secure random generator. Nothing is sent to a server or stored after you leave. To make OpenPGP keys for email and file encryption, use the PGP Key Generator; to inspect a JSON Web Token signed with your key, use the JWT Decoder.

Frequently asked questions

How long does generating a 4096-bit key take?

Usually a second or two; the time is shown after generating.

How do I generate an RSA key pair?

Choose the size and use, then press Generate key pair.

Which key size should I choose?

2048 bits at minimum; 3072 or 4096 bits for long-lived keys.

Can I use the key for SSH?

Yes. Put the OpenSSH line in authorized_keys and use the private PEM file with OpenSSH 7.8 or later.

Can I sign JWTs with it?

Yes. Choose Signing (RS256) and use the private PEM or the JWK in your JWT library.

Is the private key protected by a password?

No. Store it safely, or add a passphrase with OpenSSL.

Are the keys sent anywhere?

No. They are generated on your device.

What is the fingerprint?

A SHA-256 hash of the public key, in the format ssh-keygen shows.

Related tools