PuTTY Key Generator
Generate PPK key pairs for PuTTY securely in your browser.
Client-side only. Nothing leaves your browser
What is a PuTTY Key Generator?
PuTTY stores SSH keys in its own PPK format instead of the OpenSSH format the ssh-keygen command produces. The official way to create one is PuTTYgen, a Windows program bundled with PuTTY. This tool does the same job in your browser: it generates a fresh key pair, packages the private key as a ready-to-use .ppk file, and gives you the matching public key line for the server's authorized_keys file. Already have a key in PEM format? Use the PEM to PPK converter instead of generating a new one.
PPK Version 2 vs Version 3
| Version | Works With | Notes |
|---|---|---|
| Version 3 | PuTTY 0.75+ (2021), current WinSCP | Current default; Argon2 protection when a passphrase is set |
| Version 2 | All PuTTY releases, older WinSCP and FileZilla | Pick this if a tool rejects a v3 file |
Quick Start (Command Line)
Prefer the terminal? PuTTYgen's CLI generates a PPK directly:
puttygen -t ed25519 -o key.ppkInstall with brew install putty (macOS) or sudo apt install putty-tools (Ubuntu).
Frequently Asked Questions
What is PuTTYgen?
PuTTYgen is the key generator that ships with PuTTY. It creates SSH key pairs, saves the private key in PuTTY's PPK format, and imports or exports keys in other formats like PEM and OpenSSH. On Windows it's a GUI app installed alongside PuTTY; on macOS and Linux it's a command-line tool called puttygen, installed via 'brew install putty' or 'apt install putty-tools'. This page performs the same generation step in your browser, so nothing needs installing.
What is the difference between a PPK key and an OpenSSH key?
The cryptographic key is identical; only the file container differs. OpenSSH keys (what ssh-keygen creates) are what the ssh command on Linux and macOS reads. PPK is PuTTY's own container, which stores the public key, private key, and a tamper-check MAC in one structured text file. PuTTY only loads PPK files, and OpenSSH only loads its own formats, which is why converting between the two is such a common task.
How do I use a generated key with PuTTY?
Two steps. First, put the public key line on the server: append it to ~/.ssh/authorized_keys for the user you log in as. Second, point PuTTY at the private key: in the session settings go to Connection > SSH > Auth > Credentials and browse to the .ppk file, then save the session. Alternatively, load the .ppk into Pageant (PuTTY's key agent) and every PuTTY session will use it automatically.
Is there a PuTTYgen for Mac?
There is no official PuTTYgen GUI for macOS, but the command-line version installs cleanly with Homebrew: 'brew install putty' gives you puttygen in the terminal. Run 'puttygen -t ed25519 -o key.ppk' to generate a key. That said, on a Mac you rarely need PPK at all, since the built-in ssh command uses OpenSSH keys. PPK only matters when the key will be used by PuTTY or WinSCP on Windows.
How do I add a passphrase to the generated PPK key?
Keys generated here are saved without a passphrase, because PPK v3's passphrase protection uses Argon2 key derivation that is best done by PuTTY's own tooling. To add one: open the .ppk in PuTTYgen (or run 'puttygen key.ppk -P' on the command line), set a passphrase, and save. From then on PuTTY prompts for it when loading the key, and Pageant asks once per session.
Related Tools
Key Generator
Generate RSA, Ed25519, and ECDSA SSH keys securely in your browser.
Port Checker
Test if SSH port 22 is open on any server. Diagnose firewall and connection issues.
Config Generator
Generate ~/.ssh/config entries visually. Build config files with host aliases, jump hosts, and identity files.
Key Validator
Validate SSH public and private keys. Check key type, format, fingerprint, and comment.
PEM to PPK Converter
Convert PEM SSH keys to PPK format for PuTTY. Validate keys and get step-by-step conversion instructions.
Need to manage SSH connections?
SSH Workbench lets you connect, browse files, and manage servers visually.
Try SSH Workbench Free