SSH Key Generator (Ed25519, RSA)
Generate an Ed25519 or RSA SSH key pair in OpenSSH format.
Ed25519 is the modern default: a short key that current SSH servers, GitHub and GitLab accept.
An SSH key pair lets you log in to servers and push to GitHub or GitLab without a password: the public key goes on the server, the private key stays with you. This tool writes the same files ssh-keygen makes — id_ed25519 and id_ed25519.pub, or id_rsa for RSA — using your browser's Web Crypto. The key is made on your device and never uploaded or stored; it's free and needs no sign-up.
How to generate an SSH key
- Choose Ed25519 (recommended), or RSA for old servers, and add a comment such as you@laptop.
- Click Generate SSH key.
- Download both files into ~/.ssh and run chmod 600 ~/.ssh/id_ed25519.
- Add the public key line to the server's ~/.ssh/authorized_keys or to your GitHub account.
Features
- Ed25519 (default), RSA 3072 or RSA 4096
- OpenSSH files as ssh-keygen writes them: id_ed25519 and id_ed25519.pub, or id_rsa and id_rsa.pub
- The SHA256 fingerprint, as ssh-keygen -l prints it
- An optional comment such as you@laptop; changing it rewrites both files for the same key
- Copy or download each file, with the next steps and the ssh-keygen command that adds a passphrase
- Made with your browser's built-in Web Crypto
Is it private?
Yes. Your browser's Web Crypto makes the key, and it exists only on this page: nothing is uploaded or saved. Download both files before you leave or reload the page.
Frequently asked questions
Are these the same keys ssh-keygen makes?
Yes, in the same OpenSSH format. ssh-keygen -y -f id_ed25519 prints the same public key line, and ssh-keygen -l -f id_ed25519 prints the same fingerprint shown here (checked with OpenSSH 9.6, for Ed25519 and RSA).
How do I add a passphrase?
The key is made without one. After saving it, run ssh-keygen -p -f ~/.ssh/id_ed25519 and type a new passphrase: ssh-keygen encrypts the file in place.
Should I choose Ed25519 or RSA?
Ed25519: it is short and fast, and OpenSSH 6.5 and later, GitHub and GitLab accept it. Making it here needs Chrome 137+, Firefox 129+ or Safari 17+. Choose RSA (3072 or 4096 bits) for old systems that don't accept Ed25519, or in an older browser.
How do I add the key to GitHub?
Copy the public key line (the contents of id_ed25519.pub) and paste it into GitHub under Settings → SSH and GPG keys → New SSH key. With the private key saved in ~/.ssh, ssh -T git@github.com then greets you by your user name.
Why does ssh say the permissions are too open?
OpenSSH refuses a private key file that other users can read. Run chmod 600 ~/.ssh/id_ed25519 and keep the ~/.ssh folder at chmod 700.