.PPK

PPK File

PuTTY Private Key File
Ask a question
QUICK ANSWER

A PPK file is a PuTTY Private Key file - it holds an SSH key pair used to authenticate to remote servers. On Windows, open and manage it with PuTTYgen (free). On Linux or macOS, convert it to OpenSSH format first: puttygen key.ppk -O private-openssh -o key.pem. Treat a PPK file like a password - it grants server access if stolen.

Developer: Simon Tatham (PuTTY project) Category: Misc Files MIME: application/octet-stream
OPENS ON Windows macOS Linux
Related: .TORRENT · .MSO · .MD5 · .SHS

On this page

19k+ extensions indexed
Last reviewed Jul 1, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

What is the PPK file format?

A .ppk file is a PuTTY Private Key file - a text-based SSH private key container in PuTTY's proprietary format, created by the PuTTYgen key generation tool and used by PuTTY, WinSCP, FileZilla, and compatible SSH clients.

The file stores an SSH key pair (both public and private key components) in a structured multi-line text layout. The first line identifies the format version and key algorithm, for example:

PuTTY-User-Key-File-3: ssh-ed25519

This is followed by header fields for encryption type and comment, then Base64-encoded blocks for the public key, the optionally encrypted private key, and a MAC for integrity verification.

Three format versions exist:

  • PPK v1 - obsolete legacy format
  • PPK v2 - used by PuTTY prior to 0.75; passphrase protection uses a SHA-1-based KDF and AES-256-CBC; integrity verified with HMAC-SHA-1
  • PPK v3 - introduced with PuTTY 0.75 (January 2021); replaces SHA-1 KDF with Argon2id, making passphrase brute-force significantly harder; uses HMAC-SHA-256

PuTTYgen can upgrade a v2 key to v3 in-place. To use a .ppk key with standard OpenSSH tools (ssh, scp, sftp), it must first be exported to PEM or OpenSSH new format via PuTTYgen; the two formats are not directly interchangeable.

PPK files are typically 1-4 KB regardless of key algorithm (RSA, DSA, ECDSA, Ed25519).

Security & safety

RISK: HIGH

PPK files contain private key material - equivalent to a password for all servers where the corresponding public key is authorized. A PPK without a passphrase gives immediate SSH access if obtained by an attacker. Always protect with a strong passphrase. Use PPK v3 format (PuTTY 0.75+) for stronger Argon2id passphrase protection. Never store unencrypted PPK files on shared drives or include in source code repositories. Sites offering to "open" or "view" PPK files online are dangerous - uploading a private key to a third-party website is equivalent to giving away a password.

Format details

in a nutshell
FULL NAMEPuTTY Private Key Fileaka PuTTY SSH key, PuTTY key pair file
DEVELOPERSimon Tatham (PuTTY project)since Early 2000s (PuTTY 0.4x era); PPK v3 introduced with PuTTY 0.75 (2021)
CATEGORYMisc Files
MIME TYPEapplication/octet-stream
TYPEText-based SSH private key container (proprietary PuTTY format)

Programs that open PPK files

Windows4 apps
PuTTY Open-source In PuTTY session: Connection → SSH → Auth → Browse for private key file (.ppk). Used for authentication, not editing.
PuTTYgen Open-source Launch PuTTYgen → Load → select .ppk file → enter passphrase if prompted. Can convert to OpenSSH/PEM format via Conversions menu.
WinSCP Open-source In WinSCP login dialog: Advanced → SSH → Authentication → Private key file → select .ppk.
FileZilla Open-source Edit → Settings → Connection → SFTP → Add key file → select .ppk.
macOS1 app
PuTTYgen (via Homebrew) Open-source brew install putty → puttygen key.ppk -O private-openssh -o ~/.ssh/id_rsa to convert for use with ssh.
Linux1 app
PuTTYgen (CLI) Open-source puttygen key.ppk -O private-openssh -o key.pem - converts to OpenSSH PEM format for use with ssh/scp/sftp.

Technical details

deep spec
EncodingText (ASCII/UTF-8 headers; Base64-encoded binary key data within)
File signatureFirst line is literally PuTTY-User-Key-File-N: algorithm (N = 2 or 3); identifies version and key algorithm
Format versionsv1 (obsolete); v2 (PuTTY <0.75, HMAC-SHA-1, SHA-1-based KDF); v3 (PuTTY 0.75+, Argon2id KDF, HMAC-SHA-256)
Key algorithmsssh-rsa, ssh-dss (DSA), ecdsa-sha2-nistp256/384/521, ssh-ed25519, ssh-ed448
Passphrase encryptionAES-256-CBC; v2 uses SHA-1-based KDF; v3 uses Argon2id (memory-hard KDF) - substantially stronger against brute-force
Integrity checkHMAC-SHA-1 (v2) or HMAC-SHA-256 (v3) computed over public key, private key, algorithm name, and comment
StructureMulti-line key/value headers + Base64 blocks: public key lines, private key lines, Private-MAC; v3 adds Argon2 KDF parameter lines when encrypted
Typical size1 KB - 4 KB regardless of key algorithm
InteroperabilityNot directly usable with OpenSSH tools; must be exported to PEM or OpenSSH new format via PuTTYgen
ContainsBoth public and private key components in a single file
Security notePPK v2 with SHA-1 HMAC is considered weaker; upgrading to v3 via PuTTYgen is recommended for keys still in v2 format
ReleasedEarly 2000s (PuTTY 0.4x era); PPK v3 introduced with PuTTY 0.75 (2021)
Latest versionPPK version 3 (PuTTY 0.75+, 2021)
Specificationtartarus.org

PPK conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with PPK files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about PPK files.

Frequently asked questions

How do I convert a PPK file to PEM for Linux/macOS?
Install PuTTY tools: brew install putty (macOS) or apt install putty-tools (Linux). Then: puttygen key.ppk -O private-openssh -o key.pem
How do I open a PPK file on Windows?
Use PuTTYgen (free, official PuTTY tool). It shows the key details and lets you convert or change the passphrase.
What is the difference between PPK v2 and PPK v3?
PPK v3 (PuTTY 0.75+, 2021) uses Argon2id KDF for passphrase stretching and HMAC-SHA-256 for integrity - much harder to brute-force than PPK v2's SHA-1 based scheme. Upgrade with PuTTYgen.
Can I use a PPK file with OpenSSH directly?
No - convert it first with puttygen. OpenSSH does not natively read PPK format.
My PPK file asks for a passphrase but I forgot it.
There is no recovery method - the private key is AES-256 encrypted with your passphrase. The only option is to generate a new key pair and update authorized_keys on the server.
Is it safe to upload my PPK file to an online converter?
No - your private key would be exposed to the third-party server. Use PuTTYgen locally instead.

References

1PuTTY - Official PPK file format specification (Appendix C)tartarus.org
2PuTTY Download pagewww.chiark.greenend.org.uk

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.DATProgram Data File (generic)
5.EXEWindows Executable (Portable Executable)
6.BINCD/DVD Disc Image (BIN/CUE)
7.NOMEDIAAndroid No-Media Marker File
8.MDMarkdown Document
9.TMPTemporary File
10.RPMSGRestricted Permission Message

Related extensions

.TORRENTBitTorrent Metainfo File
.MSOMicrosoft Office HTML/OLE Data Stream (oledata.mso)
.MD5MD5 Checksum File
.SHSShell Scrap Object File
.DDDAdobe Acrobat Distiller file
.DWLDrawing Lock File (CAD)

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z