PuTTY Key Format Too New: How to Fix It

Last updated August 22, 2026

TL;DR

PuTTY key format too new means the .ppk file is PPK version 3 (the default since PuTTY 0.75 in 2021) but the program reading it only understands version 2.

Almost always one of these:

  • An old PuTTY or Pageant (before 0.75)
  • An old WinSCP (before 5.20) or FileZilla (before 3.66)
  • A CI box or server with outdated putty-tools

Update the client first. If you can't, re-save the key as PPK v2 in PuTTYgen: Key → Parameters for saving key files → PPK version 2.

What you're seeing

An error as soon as a program tries to load your .ppk file:

Unable to load key file "C:\Users\you\keys\server.ppk"
(PuTTY key format too new)

The exact wrapper varies by program: PuTTY shows a fatal error dialog, Pageant and PuTTYgen say Couldn't load private key, WinSCP and FileZilla show it in their login error. The parenthetical (PuTTY key format too new) is the same everywhere, and so is the cause.

Despite the wording, nothing is wrong with the key. The file is valid; the program reading it is too old to know the format.

What's causing this error

PuTTY private keys (.ppk) have a version number. PuTTYgen 0.75, released in May 2021, introduced PPK version 3 and made it the default for every key it saves. Version 3 protects the passphrase with Argon2, a modern memory-hard function that's far more expensive to brute-force than v2's older key derivation. That's the whole difference in practice: same key material, stronger wrapping.

Any program built on pre-0.75 PuTTY code only knows version 2, so a v3 file is "too new" for it. The usual suspects:

  1. An old PuTTY or Pageant installed years ago and never updated.
  2. An old WinSCP (v3 support arrived in 5.20) or FileZilla (3.66).
  3. Old putty-tools on a Linux box or CI runner, where puttygen from a dated distro package chokes on keys made on an up-to-date desktop.
  4. A teammate or vendor tool that bundles its own ancient PuTTY code.

How to fix it

Step 1: Update the program that's complaining

The clean fix. Current versions of everything read v3:

  • PuTTY: install the latest from our PuTTY download page. Anything 0.75 or newer reads v3; as of 2026 the current release is well past that.
  • WinSCP: update to 5.20 or newer.
  • FileZilla: update to 3.66 or newer.
  • putty-tools on Linux: sudo apt install putty-tools (or your distro's equivalent) on a current release gets you a v3-capable puttygen.

Updating also removes the temptation to keep v2 keys around forever.

Step 2: Or re-save the key as PPK version 2

If you can't update (locked-down machine, an appliance that embeds old PuTTY code), downgrade the file instead. In PuTTYgen, on any machine with a current version:

  1. File → Load private key, select the .ppk, enter the passphrase.
  2. Key → Parameters for saving key files...
  3. Set PPK file version to 2.
  4. Save private key (save as a new file, e.g. server-v2.ppk, so you keep the v3 original).

Or from the command line:

puttygen key.ppk -O private --ppk-param version=2 -o key-v2.ppk

The server can't tell the difference; PPK versions only change how the file is stored on disk. The one real cost: a passphrase on a v2 file gets the weaker pre-Argon2 protection, so treat v2 as a compatibility fallback, not the default.

Step 3: Or generate a fresh key in the version you need

Setting up a key from scratch for an old client? Our PuTTY key generator has a v2/v3 toggle, so you can produce a v2 .ppk directly instead of converting afterwards. Install the public key on the server as usual.

Common edge cases

SituationWhat's actually wrong
WinSCP fails, PuTTY worksWinSCP is older than 5.20 while PuTTY is current. Update WinSCP or feed it a v2 copy
FileZilla fails with the same keyFileZilla before 3.66 reads only v2. Update it or use a v2 copy
MobaXterm can't load the keyOlder MobaXterm bundles pre-0.75 PuTTY code. Update it, or import a v2 copy
Pageant says Couldn't load private keyPageant is versioned with PuTTY. If PuTTY got updated but an old Pageant still autostarts, replace that copy too
Works on your desktop, fails in CIThe runner's putty-tools package is outdated. Update it, or commit to v2 keys for that pipeline
puttygen on Linux rejects the keySame as CI: distro package predates 0.75. On current Debian/Ubuntu, sudo apt install putty-tools is enough
You don't know which version a .ppk isOpen it in a text editor: the first line is PuTTY-User-Key-File-3: or PuTTY-User-Key-File-2:
Error says unable to use key file, no "too new"Different problem: the file isn't a readable .ppk at all. See PuTTY Unable To Use Key File

Related errors