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

How to use the PPK ↔ PEM Converter

  1. Paste your PuTTY .ppk or PEM private key into the field.
  2. If converting a .ppk, pick OpenSSH or PKCS#8 output format.
  3. Let the tool auto-detect the direction and convert.
  4. Copy the result or download it with the suggested filename.
  5. 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

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

All ArrayKit tools