RSA Key Pair Generator

Generate cryptographically secure 2048-bit, 3072-bit, and 4096-bit RSA public and private key pairs directly in your browser.

At a glance

RSA Key Pair Generator is a free web tool that generates secure RSA public and private key pairs online. It supports RSASSA-PKCS1-v1_5 for signatures and JWTs, RSA-OAEP for data encryption, and RSA-PSS. It also automatically computes standard SHA-256 and legacy MD5 key fingerprints for verification and auditing. All processing is local: nothing is uploaded, and no account is required.

100% Client-Side Hardware CSPRNG Key Generation

Your RSA key pairs are generated locally in your browser memory via the native Web Cryptography API (crypto.subtle). Zero private keys or data packets ever leave your device.

Local & Ephemeral
Ready
Public Exponent e = 65537 PKCS#8 & SPKI PEM OpenSSH Wire Format
Key Modulus 2048 bits
Algorithm RSASSA-PKCS1-v1_5
Public Exponent 65537 (0x010001)
Hash Digest SHA-256
SHA256 Fingerprint: --
MD5 Fingerprint: --
Never Share

Store this private key securely. Anyone with access to this key can decrypt your data or forge digital signatures.

Safe to Share

Use this public key in your ~/.ssh/authorized_keys, GitHub Deploy Keys, or JWT verification libraries.

Why Use This RSA Key Pair Generator?

Configurable Key Sizes: Generate 2048-bit, 3072-bit, and 4096-bit RSA key pairs with standard 65537 public exponent.
Standard Cryptographic Schemes: Supports RSASSA-PKCS1-v1_5 for signatures and JWTs, RSA-OAEP for data encryption, and RSA-PSS.
Universal Export Formats: Instant export of PKCS#8 Private Key PEM, SPKI Public Key PEM, and OpenSSH single-line authorized_keys format.
Key Fingerprint Inspector: Automatically computes standard SHA-256 and legacy MD5 key fingerprints for verification and auditing.
Masked Private Key Protection: Visual privacy toggle lets you mask sensitive private key strings to prevent shoulder surfing.
100% Client-Side CSPRNG: Key generation executes entirely within local browser memory using the Web Cryptography API. Zero private keys are sent to external servers.

How to Use RSA Key Pair Generator

1

Choose Key Size & Algorithm

Select your required modulus length (2048, 3072, or 4096 bits) and cryptographic algorithm (RSASSA-PKCS1-v1_5 for signatures or RSA-OAEP for encryption).

2

Generate Key Pair In-Browser

Click 'Generate New Key Pair' to compute a fresh cryptographic key pair locally using your browser's hardware CSPRNG engine.

3

Copy or Download Keys

Copy or download your PKCS#8 private key for your server or application, and export your public key in standard PEM or OpenSSH format.

Worked example: 2048-bit Signing Pair with Fingerprints

The engine calls crypto.subtle.generateKey with exponent 65537, exports PKCS#8 private and SPKI public PEM, and hashes for fingerprints.

Key Size and Scheme Selection Source
Size: 2048-bit | Scheme: RSASSA-PKCS1-v1_5 | Hash: SHA-256 | Label: deploy@example
PEM Pair and Fingerprints Processed
-----BEGIN PRIVATE KEY----- MIIE...AQAB (truncated example)... -----END PRIVATE KEY----- | SHA256 fingerprint verified

Technical Specifications & Engine Details

Technical specifications and engine details for RSA Key Pair Generator
Specification Details
Supported Formats OPTIONS → PEM, OPENSSH, TEXT
Execution Mode 100% Client-Side In-Browser (client)
Browser Requirements Requires modern web browser with Web Cryptography API (SubtleCrypto).
Performance Constraints Client browser memory limit (typically 1–2 GB RAM); processing speed depends on local device CPU.
Maintained by Pragyan Pahadi

100% Client-Side Privacy Guarantee

All RSA key generation, prime factor calculations, and OpenSSH formatting occur 100% locally in your web browser memory. Zero cryptographic keys, seeds, or parameters are sent to external servers.

Frequently Asked Questions

Is it safe to generate RSA keys in a web browser?
Yes, because this generator operates 100% on the client side using the browser's native Web Crypto API (crypto.subtle). Keys are generated directly in your device's local memory and are never transmitted to any external server or recorded in logs.
What is the difference between 2048-bit and 4096-bit RSA keys?
A 2048-bit key provides 112 bits of security and is the industry minimum for general use, offering fast signing and handshake performance. A 4096-bit key provides 128 bits of security and offers maximum longevity against future computing advances, with slightly slower handshake speeds.
What is the OpenSSH public key format used for?
The OpenSSH format (ssh-rsa AAAA...) is the standard single-line string used for SSH authentication in Linux ~/.ssh/authorized_keys files, GitHub deploy keys, and GitLab account settings.
What is the difference between PKCS#8 and SPKI formats?
PKCS#8 is the standard syntax for storing private key information (BEGIN PRIVATE KEY), while SPKI (Subject Public Key Info) is the universal standard format for public keys (BEGIN PUBLIC KEY).

Methodology

Rankings and recommendations here are never paid for.

Last updated .