SecurityNew

SSH Keygen Online for Ed25519 and RSA 4096 Keys

Generate Ed25519 or RSA SSH key pairs in OpenSSH format, locally in your browser

100% client-side — your data never leaves your browserNo data stored or uploadedFree for lifetime · No signup

Keys are generated locally in your browser with the Web Crypto API and are never sent to TechLogHub or anyone else. Still, for keys that guard production servers, prefer running ssh-keygen -t ed25519 on the machine that will use the key — see how to generate an SSH key.

The private key is not passphrase-protected. Add one after saving with ssh-keygen -p -f ~/.ssh/id_ed25519.

Key type

What this SSH key generator does

It creates an SSH key pair with your browser's Web Crypto API and encodes it in the same formats ssh-keygen writes. The public key comes out as a single authorized_keys line — ssh-ed25519 AAAA… comment or ssh-rsa AAAA… comment — ready to paste into GitHub, GitLab, a cloud console or ~/.ssh/authorized_keys on a server. The private key is offered in OpenSSH format (-----BEGIN OPENSSH PRIVATE KEY-----), which current OpenSSH, Git and most clients read, and as PKCS#8 PEM for libraries such as Node's crypto, Python's cryptography or Go's x/crypto. The SHA256 fingerprint is shown in exactly the form ssh-keygen -l prints, so you can confirm that the key a server reports is the one you made.

The key material is generated and encoded locally by JavaScript in this page; it is never sent to TechLogHub or any other server, and the page has no share link because the output contains a secret.

Ed25519 or RSA, and what the formats contain

Ed25519 is the right default for new keys: short (the public key is a 68-character base64 string), fast, and supported by every OpenSSH release since 6.5 (2014), GitHub, GitLab and the major clouds. Choose RSA only for older systems that reject Ed25519; use 4096 bits if you do, or 3072 as the current minimum many guidelines recommend. RSA keys are generated with RSASSA-PKCS1-v1_5 and the standard public exponent 65537, and OpenSSH negotiates the rsa-sha2-256/512 signature algorithms itself, so the same key works for modern servers.

Ed25519 key generation needs a browser whose Web Crypto supports it — Chrome and Edge 113+, Firefox 129+ and Safari 17+. On older browsers the Ed25519 option is disabled with a note, and RSA still works.

Under the hood the public key is the SSH wire format from RFC 4253: a length-prefixed algorithm name followed by the key, which for RSA is the exponent and modulus as mpints. The private key uses OpenSSH's openssh-key-v1 container with cipher "none", a pair of matching check integers, the key fields and your comment, padded to the block size. For Ed25519 the 64-byte private field is the 32-byte seed followed by the public key, exactly as ssh-keygen stores it.

Honest caveats: when to use ssh-keygen instead

Generating keys in a browser is convenient on a borrowed machine, a Chromebook, or when you need a throwaway deploy key, but for keys guarding production servers the better practice is to generate them on the machine that will use them with ssh-keygen -t ed25519, so the private key never exists anywhere else — not in a browser tab, a downloads folder or a clipboard manager. Browser extensions with access to the page could also read what is displayed. Our guide to generating SSH keys walks through the command-line route on macOS, Linux and Windows.

The private key produced here is not encrypted with a passphrase. After saving it to ~/.ssh/id_ed25519, run chmod 600 on it and add a passphrase with ssh-keygen -p -f ~/.ssh/id_ed25519. PuTTY users can import the OpenSSH private key into PuTTYgen and save it as .ppk.

How to use the SSH Keygen Online for Ed25519 and RSA 4096 Keys tool

  1. 1

    Choose the key type

    Pick Ed25519 (recommended) or RSA 4096, 3072 or 2048 for older systems.

  2. 2

    Add a comment

    Enter an optional comment such as you@laptop; it is appended to the public key so you can recognise it later.

  3. 3

    Generate the key pair

    The keys are created locally with the Web Crypto API and shown with their SHA256 fingerprint.

  4. 4

    Save and protect the keys

    Download id_ed25519 and id_ed25519.pub to ~/.ssh, run chmod 600 on the private key, and add a passphrase with ssh-keygen -p.

Frequently asked questions

Is it safe to generate an SSH key online?

With this tool the keys are generated in your browser and never transmitted, so nobody else receives them. For production servers it is still better to run ssh-keygen -t ed25519 on the machine that will use the key, so the private key never passes through a browser.

Can I add a passphrase?

Not in the browser; the private key is unencrypted. Add one after saving with ssh-keygen -p -f ~/.ssh/id_ed25519, which encrypts the file in place.

Which is better, Ed25519 or RSA 4096?

Ed25519 for anything modern: smaller keys, faster operations and strong security. Use RSA 4096 only when a server or device does not accept Ed25519 keys.

How do I check the fingerprint matches?

Run ssh-keygen -l -f ~/.ssh/id_ed25519.pub. It prints the bit size, SHA256 fingerprint, comment and type, which should match the line shown above the keys.

Can I use these keys with PuTTY?

Yes. Load the OpenSSH private key in PuTTYgen with Conversions > Import key and save it as a .ppk file; the public key line works in authorized_keys unchanged.

Related on TechLogHub

Get the next tool before you need it

One email a week: new and trending developer tools, fresh comparisons, and what shipped. Unsubscribe in one click.