PuTTY is a free implementation of Telnet and SSH for Windows and Unix platforms, along with an xterm terminal emulator. PuTTY is a client program for the SSH, Telnet and Rlogin network protocols.

These protocols are all used to run a remote session on a computer, over a network. PuTTY implements the client end of that session: the end at which the session is displayed, rather than the end at which it runs.

In really simple terms: you run PuTTY on a Windows machine, and tell it to connect to (for example) a Unix machine. PuTTY opens a window. Then, anything you type into that window is sent straight to the Unix machine, and everything the Unix machine sends back is displayed in the window. So you can work on the Unix machine as if you were sitting at its console, while actually sitting somewhere else.

Can I copy and paste text between PuTTY and other Windows applications?

Yes. When you select text in the PuTTY window it automatically copies the text to the clipboard, without the need of pressing Ctrl-C or anything else. To paste the clipboard contents into a PuTTY window, you just need to click the right mouse button.

Does PuTTY work on macOS?

No. PuTTY is only available for Windows and Unix-based OS. As of version 0.68, PuTTY executables run on versions of Windows from XP onwards, up to and including Windows 11. If you need a macOS remote login with the SSH protocol, OpenSSH works with macOS and Linux, it is also free and open source.

What's a good alternative to PuTTY?

KiTTY is a fork of the original PuTTY client. It's based on PuTTY architecture and adds many new features for a Windows terminal app.

What's New

PuTTY 0.78, released today, is a feature release. Its major new feature is support for OpenSSH's certificate system. PuTTY can now present certified user keys to an SSH server, and you can configure one or more trusted CAs so that it will automatically accept host keys signed by them.

Other new features include new forms of SSH jump host support (you can tell the proxy SSH server to run a command to make the connection); additional cryptography (the hopefully quantum-proof NTRU Prime key exchange, updated GSSAPI key exchange method list, new integer Diffie-Hellman groups, and AES-GCM); and a system that allows a third-party helper program to provide answers to keyboard-interactive authentication questions (e.g. for automating one-time password schemes).

0.78 also fixes a bug when setting the window title in some character sets, and restores Windows XP support, which broke in 0.77.

Note to upgrading Windows users: the 0.78 Windows installer will not uninstall 0.77 or older. We recommend uninstalling the older version first. If you've ended up with both, uninstalling both copies and then running the new installer will put everything right. This is a knock-on effect of a bugfix; sorry about that.

  • Support for OpenSSH certificates, for both user authentication keys and host keys.
  • New SSH proxy modes, for running a custom shell command or subsystem on the proxy server instead of forwarding a port through it.
  • New plugin system to allow a helper program to provide responses in keyboard-interactive authentication, intended to automate one-time password systems.
  • Support for NTRU Prime post-quantum key exchange,
  • Support for AES-GCM (in the OpenSSH style rather than RFC 5647).
  • Support for more forms of Diffie-Hellman key exchange: new larger integer groups (such as group16 and group18), and support for using those and ECDH with GSSAPI.
  • Bug fix: the 32-bit Windows build now runs on Windows XP again.
  • Bug fix: server-controlled window title setting now works again even if the character set is ISO 8859 (or a few other affected single-byte character sets).
  • Bug fix: certain forms of OSC escape sequences (sent by some real servers) could cause PuTTY to crash.
  • Bug fix: the -pwfile/-pw options no longer affect local key passphrase prompts, and no longer suppress Plink's anti-spoofing measures.
  • Major improvements to network proxy support:
  • Support for interactively prompting the user if the proxy server requires authentication.
  • Built-in support for proxying via another SSH server, so that PuTTY will SSH to the proxy and then automatically forward a port through it to the destination host. (Similar to running plink -nc as a subprocess, but more convenient to set up, and allows you to answer interactive prompts presented by the proxy.)
  • Support for HTTP Digest authentication, when talking to HTTP proxies.
  • Introduced pterm.exe, a PuTTY-like wrapper program for Windows command prompts (or anything else running in a Windows console). Not yet included in the installer, but available as a .exe file.
  • Updated Unicode and bidi support to Unicode 14.0.0.
  • New command-line option -pwfile, like -pw except that it reads the password from a file so that it doesn't show up on the command line.
  • Windows Pageant: option --openssh-config to allow easy interoperation with Windows's ssh.exe.
  • -pw (and -pwfile) now do not fall back to interactively prompting for a password if the provided password fails. (That was the original intention.)
  • New configuration options for keyboard handling:
  • Option to control handling of Shift + arrow keys
  • Extra mode in the function-keys option, for modern xterm (v216 and above).
  • Bug workaround flag to wait for the server's SSH greeting before sending our own, for servers (or proxies) that lose outgoing data before seeing any incoming data.
  • Crypto update: added side-channel resistance in probabilistic RSA key generation.
  • Crypto update: retired the use of short Diffie-Hellman exponents (just in case).
  • Bug fix: reconfiguring remote port forwardings more than once no longer crashes.
  • Bug fix: terminal output processing is now paused while handling a remote-controlled terminal resize, so that the subsequent screen redraw is interpreted relative to the new terminal size instead of the old.
  • Bug fix: Windows PuTTYgen's mouse-based entropy collection now handles high-frequency mice without getting confused.
  • Bug fix: Windows Pageant can now handle large numbers of concurrent connections without hanging or crashing.
  • Bug fix: if Windows Pageant is started multiple times simultaneously, the instances should reliably agree on one of them to be the persistent server.
  • Bug fix: remote-controlled changes of window title are now interpreted according to the configured character set.
  • Bug fix: remote-controlled changes of window title no longer get confused by UTF-8 characters whose encoding includes the byte 0x9C (which terminates the control sequence in non-UTF-8 contexts).
  • Bug fix: popping up the window context menu in the middle of a drag-select now no longer leaves the drag in a stuck state.
  • Bug fix: extensive use of true colour in the terminal no longer slows down window redraws unnecessarily.
  • Bug fix: when PSCP reports the server sending a disallowed compound pathname, it correctly reports the replacement name it's using for the downloaded file.
  • Bug fix: enabling X11 forwarding in psusan failed to fall back through possible port numbers for the forwarded X display.
  • For developers: migrated the build system to CMake, removing the old idiosyncratic mkfiles.pl and the autotools system.

Legal Warning: Use of PuTTY, PSCP, PSFTP and Plink is illegal in countries where encryption is outlawed. I believe it is legal to use PuTTY, PSCP, PSFTP and Plink in England and Wales and in many other countries, but I am not a lawyer and so if in doubt you should seek legal advice before downloading it. You may find this site useful (it's a survey of cryptography laws in many countries) but I can't vouch for its correctness.

Use of the Telnet-only binary (PuTTYtel) is unrestricted by any cryptography laws.