PPK to PEM Converter
Turn a PuTTY .ppk key into a PEM or OpenSSH key for ssh, Git, AWS and macOS/Linux — passphrase-protected keys included. Converted entirely in your browser; the key never leaves your device.
At a glance
- Reads PuTTY PPK version 2 and 3 files, including passphrase-protected ones (Argon2 for v3, as PuTTY 0.75 and later write them).
- Converts to PEM (BEGIN RSA / EC / DSA PRIVATE KEY), OpenSSH (BEGIN OPENSSH PRIVATE KEY), PKCS#8 or another PPK version.
- Supports RSA, ECDSA (P-256, P-384, P-521), Ed25519 and DSA keys.
- Checks the key file’s MAC, so a wrong passphrase or a damaged file is reported instead of producing a broken key.
- Can add a new passphrase to the converted key, and shows the SHA256 fingerprint and public key line (for authorized_keys).
- Tested against keys made by PuTTYgen and checked with OpenSSH’s ssh-keygen and OpenSSL.
- Runs entirely in your browser — the private key is never uploaded.
Step by step
How to convert a PPK file to PEM
- 1
Open the .ppk file
Click Open a key file and choose your .ppk, or paste its text.
- 2
Unlock it
If the key has a passphrase, enter it and click Unlock.
- 3
Choose the format
Pick PEM (or OpenSSH / PKCS#8) and optionally a new passphrase.
- 4
Download
Click Convert, then Download. On macOS/Linux run
chmod 600on the file before using it.
Features
Everything you need, nothing you don’t
Without PuTTYgen
Convert on any computer or phone — no need to install PuTTY or use the command line on a Mac or Linux machine.
Passphrases handled
Unlock an encrypted .ppk with its passphrase, and choose whether the new key has one.
Every format
PEM for AWS and older tools, OpenSSH for modern ssh and Git, PKCS#8 for code libraries.
Verify before you use it
Compare the SHA256 fingerprint with the one your server or PuTTYgen shows.
Public key too
Copy the matching public key line for ~/.ssh/authorized_keys or download it as .pub.
Private
Your key is converted in this browser tab and never sent anywhere.
PEM or OpenSSH — which do I need?
Ed25519 keys have no traditional PEM form, so choosing PEM gives the standard PKCS#8 “BEGIN PRIVATE KEY” format instead.
| Use | Choose |
|---|---|
| ssh on macOS/Linux, Git, VS Code Remote | OpenSSH (or PEM — both work) |
| AWS EC2 .pem files, older tools, Paramiko | PEM |
| Java, Node.js, Python cryptography libraries | PKCS#8 |
| An older PuTTY or WinSCP that rejects new keys | PPK v2 |
Using the converted key
Save it in ~/.ssh (for example ~/.ssh/id_rsa) and run chmod 600 ~/.ssh/id_rsa — ssh refuses keys that other users can read. Then connect with ssh -i ~/.ssh/id_rsa user@server.
Need it the other way round? Use the PEM to PPK converter.
FAQ
Frequently asked questions
How do I convert a PPK file to PEM?
Does it work with PuTTY’s new PPK version 3 files?
Is it safe to convert a private key online?
What if I forgot the passphrase?
Why does ssh say “bad permissions” or “unprotected private key”?
chmod 600 on it (or remove other users’ access on Windows), then try again.Can I convert DSA keys?
Keep going
Related tools
PEM to PPK Converter
Convert a PEM or OpenSSH private key (id_rsa, AWS .pem) to a PuTTY .ppk file online — PPK v3 or v2, with an optional passphrase. Free, private, no upload.
Password Generator
Generate strong, random passwords, memorable passphrases and PINs with a cryptographically secure generator. Free, instant and private — nothing is stored.
SSL Checker
Check any website’s SSL certificate: expiry date and days left, issuer, covered domains, revocation and CAA, plus a live HTTPS test from your browser.
Password Strength Checker
Check how strong a password is: time to crack, common words and patterns it hides, tips to improve it, and a safe data-breach check. Fully private.
Image Steganography Tool
Hide a secret message or file inside an image, protected with a password, and reveal hidden messages from PNG images. Free and private — no upload.
Bcrypt Generator & Checker
Generate bcrypt hashes with cost 4–16 and $2a/$2b/$2y prefixes, or check a password against a bcrypt hash. Explains each part. Runs in your browser only.
Last updated Report a problem or suggest a feature