How to Use
- Choose an algorithm. Ed25519 is recommended for most new keys.
- Enter an optional comment, such as
[email protected], to identify the key later. - Click "Use example comment" to generate a real key pair with the sample comment, or click "Generate key" with your current settings.
- Copy the Public Key to GitHub, a server console, or
~/.ssh/authorized_keys. - Download and protect the Private Key. This tool exports PKCS#8 PEM; if your SSH client requires native OpenSSH private key format, use the displayed
ssh-keygencommand locally and runchmod 600on the saved key.
Core Features
- Browser Web Crypto generation: Key pairs are generated with the browser Web Crypto API on your device, and private keys are not uploaded by the generator.
- Ed25519 and RSA support: Ed25519 is the default recommendation, with RSA-2048 and RSA-4096 available for legacy compatibility.
- Separate copy and downloads: Copy the public key and private key independently, or download
.puband.pemfiles without mixing them up. - Comment tagging: Add an email, device name, or deployment label so GitHub, servers, and
authorized_keysentries are easier to recognize. - CLI command reference: See the matching
ssh-keygencommand when you need native OpenSSH private key output from your own terminal.
Related Tools
Strong password generator for random passwords or XKCD passphrases. See entropy and crack-time estimatesโsecure, client-side only. Generate yours now.
Test password strength and estimated crack time with zxcvbn. The check runs locally in your browser, so your input is not uploaded.
Generate Bcrypt hashes locally and verify passwords against existing hashes with adjustable Cost/Rounds for auth development, migrations, and seed data.
Decode and debug JWTs in your browserโno secret key, no uploads. Inspect header/payload, pretty-print JSON, and see a live exp countdown. Paste offline now.
Generate and sign JWTs for API testing. Edit header and payload, use HS256/HS384/HS512, and keep your secret local while HMAC signing runs in the browser.
Generate SHA-256, SHA-384, SHA-512 hashes and file checksums locally in your browser. Compare expected values, copy results, and verify files without uploads.
Calculation Logic
This tool uses the browser Web Crypto API to generate key material locally in memory. The public key is encoded in the OpenSSH format commonly used by authorized_keys; the private key is exported as PKCS#8 PEM for local download, backup, or tools that accept that format.
No backend service is required, and the comment, public key, or private key is not sent to a server. Refreshing the page clears the private key from the current browser session. Ed25519 availability depends on your browser's Web Crypto support; if it is unavailable, or if you need native OpenSSH private key output, choose RSA or run the displayed ssh-keygen command in a local terminal.
FAQ
Is it safe to generate an SSH key online?
It depends on the architecture and your device security. This generator creates keys in your browser and does not upload or store them on EasyTools servers. Protect the downloaded private key and use a trusted, updated browser.
What is the difference between RSA and Ed25519?
Ed25519 keys are shorter, fast to generate, and recommended for modern SSH usage. RSA is widely compatible with older systems; choose RSA-4096 when you need a stronger RSA option.
Does this tool store my private key?
No. The private key only exists in the current page state and is not saved by this site after refresh or close.
How do I use the generated SSH key?
Add the Public Key to GitHub SSH keys, your cloud server console, or ~/.ssh/authorized_keys. Store the Private Key only on your own device; if your SSH client does not accept PKCS#8 PEM, use the displayed ssh-keygen command to create native OpenSSH output locally.
Can I generate an SSH key for GitHub?
Yes. Choose Ed25519, add your email as the comment, generate the pair, then copy the Public Key to GitHub's SSH keys page.