PPK ↔ PEM Converter
Convert SSH private keys between PuTTY .ppk and OpenSSH/PEM (RSA & Ed25519) — locally in your browser.
Conversion runs entirely in your browser with the Web Crypto API — the private key you paste never leaves your device and nothing is uploaded. Treat the key as a secret and store it safely.
Need a fresh keypair? Try the SSH Key Generator.
About PPK ↔ PEM Converter
This PPK to PEM converter changes an SSH private key between PuTTY's .ppk format and OpenSSH/PKCS#8 PEM, both directions, entirely in your browser. Paste a key and the direction is detected automatically: a PuTTY .ppk becomes a PEM you can use with ssh -i, and a PEM (BEGIN OPENSSH/RSA/PRIVATE KEY) is packaged back into a PuTTY .ppk v2 for PuTTY, WinSCP or FileZilla. It handles RSA and Ed25519 keys and lets you choose OpenSSH or PKCS#8 output. It's for developers and sysadmins moving between Windows and Linux/macOS toolchains who need the right key format without installing PuTTYgen. The build runs locally with the Web Crypto API, so your private key stays on your device.
Features
- Two-way conversion: PuTTY .ppk ↔ OpenSSH/PKCS#8 PEM
- Automatic format detection — no manual mode switch
- Supports RSA and Ed25519 private keys
- Choose OpenSSH or PKCS#8 PEM output
- Outputs PuTTY .ppk v2, readable by every PuTTY version
- Copy the converted key or download it with a sensible filename
- Shows the detected algorithm and conversion direction
- Runs locally in your browser with the Web Crypto API
How to use the PPK ↔ PEM Converter
- Paste your PuTTY .ppk or PEM private key into the field.
- If converting a .ppk, pick OpenSSH or PKCS#8 output format.
- Let the tool auto-detect the direction and convert.
- Copy the result or download it with the suggested filename.
- For PEM output, run chmod 600 before using ssh -i.
Example
Input
PuTTY-User-Key-File-2: ssh-ed25519
Encryption: none
Comment: me@laptop
Public-Lines: 2
…
Output
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmU…
-----END OPENSSH PRIVATE KEY-----
A PuTTY Ed25519 .ppk converted to an OpenSSH PEM private key.
Common errors & troubleshooting
- Conversion fails on a passphrase-protected key. — Encrypted keys aren't supported yet. Remove the passphrase first — in PuTTYgen save without one, or run ssh-keygen -p -f your_key and set an empty passphrase — then paste again.
- The format isn't detected and nothing converts. — Paste the entire key including its header and footer lines (PuTTY-User-Key-File-2: … or -----BEGIN … PRIVATE KEY-----). Truncated or wrapped pastes can't be recognized.
- An ECDSA or DSA key won't convert. — Only RSA and Ed25519 keys are supported here. For ECDSA/DSA, convert with PuTTYgen or ssh-keygen instead.
- OpenSSH rejects the PEM with a permissions warning. — Save the file and run chmod 600 on it before ssh -i; OpenSSH refuses world-readable private keys.
Frequently asked questions
- What is a PPK to PEM converter?
- It converts an SSH private key between PuTTY's .ppk format and the OpenSSH/PKCS#8 PEM format used by ssh, scp and most Linux/macOS tools — and back again — so the same key works across both toolchains.
- Which key types are supported?
- RSA and Ed25519 private keys, in both directions. Other algorithms like ECDSA or DSA aren't supported here; use PuTTYgen or ssh-keygen for those.
- What's the difference between OpenSSH and PKCS#8 output?
- OpenSSH is the modern format for ~/.ssh and ssh -i. PKCS#8 is an older, widely compatible PEM that many libraries and tools accept. Pick OpenSSH unless something specifically needs PKCS#8.
- Can it convert a PEM back into a .ppk for WinSCP?
- Yes. Paste a PEM private key and it produces a PuTTY .ppk v2 you can load in PuTTY, WinSCP or FileZilla.
- Does my private key get uploaded anywhere?
- No. The conversion runs entirely in your browser with the Web Crypto API. Your private key never leaves your device and nothing is sent to ArrayKit.
- Why won't my encrypted key convert?
- Passphrase-protected keys aren't supported yet. Remove the passphrase first, convert, then re-add a passphrase to the output with PuTTYgen or ssh-keygen.
Related tools
- SSH Key Generator — Generate Ed25519, RSA or ECDSA SSH keypairs in your browser and download the public and private keys.
- Password Generator — Generate strong, random passwords with a strength meter (crypto-secure).
- Hash Generator — SHA-256 / SHA-1 / SHA-384 / SHA-512 via the Web Crypto API.
- JWT Decoder — Decode JWT header & payload and inspect exp / iat (no verification).
- Basic Auth Generator — Generate and decode HTTP Basic Auth Authorization headers from a username and password.
- Chmod Calculator — Convert Unix file permissions between octal and symbolic (rwx).
All ArrayKit tools