Toolonit
  1. Home
  2. Encrypt
  3. SSH Key Generator

SSH Key Generator (Ed25519, RSA)

Generate an Ed25519 or RSA SSH key pair in OpenSSH format.

Key type

Ed25519 is the modern default: a short key that current SSH servers, GitHub and GitLab accept.

Optional. Written at the end of the public key to tell keys apart — usually your email or computer name.

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

  1. Choose Ed25519 (recommended), or RSA for old servers, and add a comment such as you@laptop.
  2. Click Generate SSH key.
  3. Download both files into ~/.ssh and run chmod 600 ~/.ssh/id_ed25519.
  4. 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.

Related tools