SSH Keygen Online for Ed25519 and RSA 4096 Keys
Generate Ed25519 or RSA SSH key pairs in OpenSSH format, locally in your browser
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.
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
Choose the key type
Pick Ed25519 (recommended) or RSA 4096, 3072 or 2048 for older systems.
- 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
Generate the key pair
The keys are created locally with the Web Crypto API and shown with their SHA256 fingerprint.
- 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
Related Security Tools
UUID Generator for v4 and v7 with Bulk Output
Generate v4 and v7 UUIDs in bulk and inspect any UUID or GUID
Hash Generator: MD5, SHA-256, SHA-512 and HMAC
Compute MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes and HMACs of text or files
Bcrypt Hash Generator and Verifier with Cost
Hash passwords with bcrypt at a chosen cost factor and verify passwords against bcrypt hashes
Password Generator with Passphrases and Entropy
Generate strong random passwords or word-based passphrases with an entropy meter
Secret Key Generator for API Keys and JWT Secrets
Generate cryptographically random secret keys in hex, base64, base64url or alphanumeric
TOTP Generator with Countdown and otpauth URIs
Compute RFC 6238 TOTP codes from a base32 secret and build otpauth:// URIs for testing 2FA
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.

