PPK to PEM Converter

Convert SSH private keys between PuTTY .ppk (v2 and v3) and PEM or OpenSSH format. Supports RSA, Ed25519 and ECDSA keys. The conversion runs in your browser, so your private key is never uploaded.

Runs locally · nothing uploaded

How to use the PPK to PEM Converter

  1. 1

    Choose PPK to PEM or PEM to PPK.

  2. 2

    Choose or drop your key file, or paste its contents. For PPK to PEM, enter the passphrase if the key has one. For PEM to PPK, you can set a new passphrase and pick the PPK version.

  3. 3

    Select Convert, check that the fingerprint is the one you expect, then copy or download the converted key.

What happens to your data

Your key and passphrase are processed by your browser in a temporary background worker. Nothing is uploaded, logged or saved. The output exists only on this page until you copy or download it.

Frequently asked questions

Is my private key uploaded?

No. The page has no backend, and your key is read and converted by JavaScript in your browser. To check, load the page, turn off your network connection and run a conversion. For highly sensitive production keys, the safest choice is still PuTTYgen on your own computer: puttygen key.ppk -O private-openssh -o key.pem

Which key types and formats are supported?

RSA, Ed25519 and ECDSA (P-256, P-384 and P-521). It reads .ppk versions 2 and 3, and PEM files in PKCS#1, SEC1, PKCS#8 and OpenSSH format. DSA keys aren't supported.

What format is the PEM output?

RSA keys become BEGIN RSA PRIVATE KEY (PKCS#1), the same format as AWS EC2 .pem files. ECDSA keys become BEGIN EC PRIVATE KEY (SEC1). Ed25519 keys become BEGIN OPENSSH PRIVATE KEY. All of them work with OpenSSH.

Does the PEM keep my passphrase?

No, the PEM is written without a passphrase, so protect the file. To add one afterwards, run ssh-keygen -p -f key.pem on your own computer.

Can I convert a PEM file that has a passphrase?

Not yet. Remove the passphrase from a copy first, then set a new one here to protect the .ppk.

Should I choose PPK v3 or v2?

Use v3 unless you need PuTTY older than version 0.75, which can only read v2. v3 protects passphrases with Argon2, which is much harder to crack, so converting a passphrase-protected v3 key can take a few seconds.