Skip to content
Run here 100% in your browser, no upload, no login

SSH Key Generator

Generate an SSH key pair in the browser: OpenSSH public line, PEM public key and private key.

Public key (authorized_keys line)
Public key (PEM)
Private key (PEM, keep secret)

Keys are generated by the browser Web Crypto API and never leave this device. Nothing is uploaded and nothing is stored after you close the tab. Download the private key yourself and keep it safe.

Ed25519 is offered only when the browser supports it. If it is unavailable, the tool says so instead of generating an RSA key under that name.

How to use it

  1. Pick the Key type: RSA 2048, RSA 4096, or Ed25519 where the browser supports it.
  2. Type a Comment such as user@host. It is appended to the public key line, exactly as ssh-keygen -C does.
  3. Click Generate. The page builds the key with the Web Crypto API and reports how long it took.
  4. Copy the public key line into ~/.ssh/authorized_keys on the server, or give it to whoever manages access.
  5. Download the private key immediately and store it in your own password manager or key store. It exists only in this page's memory until you do.

Common use cases

Why it stays private

The key pair is created by the browser's own Web Crypto implementation. The private key is never uploaded, never written to localStorage and never logged; it lives in memory for as long as the tab is open. That is why the page asks you to download it yourself - there is no server-side copy to recover later. Close the tab and the key is gone for good, which is the behavior you want from a key generator you did not install.

FAQ

Q: Is the private key uploaded or saved anywhere? A: No. Nothing is transmitted and nothing is persisted. The private key is only in the textarea and in the downloaded file you create yourself.

Q: Why is Ed25519 sometimes unavailable? A: Ed25519 in Web Crypto is not implemented by every browser yet. When generation is not supported, the tool reports that clearly rather than producing an RSA key under the Ed25519 name. Generating a key with a mismatched label would break the trust you place in the authorized_keys entry.

Q: Is the private key in OpenSSH's own format? A: No. It is exported as PKCS#8 PEM, which is what Web Crypto provides. Many tools accept it directly; OpenSSH can import it with ssh-keygen -i -m PKCS8 if you need the native format.

Q: Does the tool verify the key after generating it? A: It reports the key type, generation time and public key length. It does not perform a test signature, so treat the first login as your real check.

Your data stays on this device

SSH Key Generator runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.

Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.