100% Client-Side Generation
RSA key generation runs entirely in the Web Crypto API inside your browser. The private key is never transmitted to UtilityKit's servers or any third party.
500+ fast, free tools. Most run in your browser only; Image & PDF tools upload files to the backend when you run them.
Issue RSA-OAEP 2048 PEM pairs via Web Crypto.
RSA Key Generator on UtilityKit generates RSA 2048-bit and 4096-bit key pairs in PEM format entirely inside your browser using the Web Crypto API. Click Generate and within seconds you have a PKCS#8 private key and an X.509 SubjectPublicKeyInfo public key, both ready to copy or download as `.pem` files. No server ever sees your private key — generation runs in the browser's sandboxed cryptographic engine. This tool is built for developers who need realistic RSA key pairs for learning public-key cryptography, writing unit tests against JWT libraries, and documenting API authentication flows. It is not a replacement for production key management: real production keys should be generated with `ssh-keygen` or `openssl genrsa` and stored in a secrets manager. Use UtilityKit's RSA generator to understand PEM format, test your code, and learn.
RSA key generation runs entirely in the Web Crypto API inside your browser. The private key is never transmitted to UtilityKit's servers or any third party.
Generate keys at the two most common RSA sizes. 2048-bit is sufficient for most library tests; 4096-bit provides examples of stronger key material for security documentation.
Output follows PKCS#8 (private key) and SubjectPublicKeyInfo (public key) PEM encoding — the format expected by OpenSSL, Node.js `crypto`, Java KeyStore, Python `cryptography`, and most JWT libraries.
See what real RSA PEM files look like, learn the PKCS#8 and SPKI header/footer conventions, and use realistic key pairs in API documentation and architecture diagrams.
Populate local `.env` files for JWT signing tests, mock SSH authentication flows, or TLS certificate generation exercises without touching OpenSSL on the command line.
Generate valid RSA PEM keys without installing OpenSSL, Node.js, Java Keytool, or any CLI tool — useful in restricted environments or when onboarding developers quickly.
Input: Key size: 2048-bit, Format: PEM
Output: -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASC...(Base64 DER, ~1700 chars) -----END PRIVATE KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...(Base64 DER, ~392 chars) -----END PUBLIC KEY-----
Input: Generated private.pem + payload: { userId: 42, role: 'admin' }
Output: const jwt = require('jsonwebtoken'); const fs = require('fs'); const privateKey = fs.readFileSync('private.pem'); const token = jwt.sign({ userId: 42, role: 'admin' }, privateKey, { algorithm: 'RS256' }); // eyJhbGciOiJSUzI1NiJ9.eyJ1c2VySWQiOjQyLCJyb2xlIjoiYWRtaW4ifQ...
Input: Downloaded private.pem file
Output: $ openssl rsa -in private.pem -check RSA key ok writing RSA key -----BEGIN PRIVATE KEY----- ...