1. Home
  2. Developer tools
  3. RSA and Ed25519 Key Pair Generator

RSA and Ed25519 Key Pair Generator

Generate a key pair with your browser’s Web Crypto API for testing, signing experiments or a quick SSH key, and download it in the format you need.

Free, no sign-up. Runs in your browser: nothing is uploaded.

How to use RSA and Ed25519 Key Pair Generator

  1. Choose RSA (with a size) or Ed25519.
  2. Press Generate.
  3. Download or copy the private and public keys.

Features

  • RSA 2048, 3072 and 4096 bits
  • Ed25519 keys
  • PKCS#8 private and SPKI public PEM
  • OpenSSH public and private key files
  • SSH SHA-256 fingerprint shown
  • Generated locally with Web Crypto

Supported formats

You get

  • PEM private and public keys
  • OpenSSH key files

Private by design

Everything you enter is processed by your browser on this device. Nothing is sent to openWorkstand or anyone else, so the RSA and Ed25519 Key Pair Generator is safe for private and work data. After you have used it once while online, it also works without an internet connection. How local processing works

Good to know

  • Private keys are shown on a web page and are not encrypted; prefer a local tool for long-lived keys.
  • Ed25519 generation needs a recent browser.

Guide

Generating RSA and Ed25519 key pairs in PEM and OpenSSH formats

Public-key cryptography needs a pair of keys: a private one you keep secret and a public one you hand out. SSH logins, code signing, TLS certificates, JWT signatures and Git commit signing all start from such a pair. This page creates one in your browser, with the standard random generator your browser already trusts, and gives you the files in the formats other software expects.

Ed25519 or RSA

Ed25519 is an elliptic-curve signature scheme with 256-bit keys. Its keys and signatures are small, it is fast to generate and use, and it has fewer ways to be misused than RSA, so it is the usual default for SSH and signing today. RSA is older and works nearly everywhere. If you need it, choose 3072 bits or more: 2048 is the minimum accepted by current guidance, and 4096 takes noticeably longer to generate, especially on a phone. DSA and small RSA keys are obsolete.

What you get

The Ed25519 sample on the page produces six items. The OpenSSH private key starts with -----BEGIN OPENSSH PRIVATE KEY-----. The OpenSSH public key is one line beginning ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA and ending with your comment, which defaults to [email protected]. The same key is also available as a PKCS#8 private key (a BEGIN PRIVATE KEY block) and a SubjectPublicKeyInfo public key (BEGIN PUBLIC KEY), which OpenSSL, Node, Java and most libraries read. Two fingerprints let you identify the key: the SSH one, SHA256: followed by Base64, and the JWK thumbprint of RFC 7638.

Using the files

For SSH, save the private key as id_ed25519 and run chmod 600 on it; OpenSSH refuses to use a private key that other users can read. Add the public key line to the server’s authorized_keys, or to GitHub, GitLab or any host’s key settings. Compare the SHA256 fingerprint the host shows with the one on this page to confirm you added the right key. For signing with libraries, use the PEM forms.

Keys made in a browser

The keys never leave the page: they are not stored, logged or sent. Even so, any key that has been displayed on screen, in a clipboard or in a downloads folder has had more exposure than one generated directly on its own machine with ssh-keygen -t ed25519. Treat browser-made keys as suitable for tests, demos, learning and low-risk accounts, and make long-lived identities locally.

Edge cases

RSA generation with 4096 bits can take several seconds and may freeze a slow device briefly. Ed25519 needs a recent browser (Chrome 137 or later, Firefox 129 or later, Safari 17 or later); older ones show an error and RSA still works. The comment is only a label and is not part of the cryptographic key.

Limits

The page does not encrypt private keys, create certificates or sign anything. It cannot import an existing key for modification; use the converter or fingerprint tools for that.

Checked against the current version of the RSA and Ed25519 Key Pair Generator on .

Frequently asked questions

Where do I save the files so SSH finds them?

Save the private key as ~/.ssh/id_ed25519 (or id_rsa), set its permissions to 600 so only you can read it, and add the one-line public key to ~/.ssh/authorized_keys on the server or to your Git host account.

Can I protect the private key with a passphrase here?

Not on this page. Run ssh-keygen -p -f id_ed25519 on your machine after downloading to add a passphrase, which encrypts the key file at rest.

Is it safe to make a real key in a web page?

The key is created in your browser and not sent anywhere, but the safest source of a long-lived key is a tool on your own machine, such as ssh-keygen. Use this page for testing, learning and low-risk keys.

Should I choose RSA or Ed25519?

Ed25519 is shorter, faster and the usual modern choice for SSH and signing. Use RSA with at least 3072 bits only when the other system does not support Ed25519.

Keep working with the result

openWorkstand also includes a free workspace with documents, spreadsheets, tasks, projects and a calendar that save to a folder on your computer.