Best FTP and SFTP Clients

FTP and SFTP (Secure File Transfer Protocol) clients play a big role in the administration of WordPress servers, management of systems on a network, and file sharing.

There are a wide variety of free and premium FTP and SFTP client software solutions out there for you to try, so in this piece, we’ll help you narrow down your choices and find a solution that works best for you.

Here is our list of the best FTP and SFTP clients for Windows & Linux:

  1. SolarWinds Solar-PuTTY FREE TOOL – EDITOR’S CHOICE Free file transfer utility that includes SFTP FTP, and SCP options.
  2. WinSCP Widely-used free secure FTP utility.
  3. FileZilla Free secure file transfer facility for Windows, Mac OS X, and Linux.
  4. CyberDuck Free secure file transfer utility that runs on Windows and Mac OS and integrates support for many popular cloud storage systems.
  5. MonstaFTP Online service that runs through your browser. It deploys FTP, FTPS, SFTP, and SCP. It is available in free and paid versions.
  6. Coffee Cup Free FTP Client Free file transfer utility for Windows that includes FTP, FTPS, and SFTP.
  7. SolarWinds FTP Voyager Client (FREE TOOL) A free FTP, FTPS, and SFTP client for Windows.
  8. IPswitch WS_FTP implementation for Windows.

Note: We’re covering client software here. If you’re a network administrator looking for SFTP server software, check out The 20 Best Free SFTP and FTPS Servers for Windows and Linux.

What to look for in an FTP/SFTP client?

The answer to this question is really “it depends”. If you are a home user or just manage a WordPress site or two, you may be able to get away with a very simple file transfer client. All you may need is a simple graphical user interface (GUI) and support for a protocol or two. On the other hand, if you are an advanced user or subject to specific compliance requirements, you may have a much more extensive list of needs when it comes to your FTP/SFTP client software needs. Below is a quick rundown of some of the features you may want to keep an eye out for:

  • Protocols & encryption method support – Do you know you will only ever need SFTP support? Are you in a role where one server uses SFTP, another FTPS, another HTTPS, and another FTP? Similarly, do you care (for compliance reasons or otherwise) about the security of the encryption methods your client software uses? You’ll need to consider these points when picking client software.
  • Drag & drop – This is a convenience feature, but drag and drop with client software GUIs can streamline the file transfer process.
  • File integrity checks – How do you know if the file you moved from location A to location B made it there without any corruption? Comparing the hash or checksum can help you do this. Some client software will take care of this for you.
  • Scheduling of actions – How much time will you save if you or your team can automate your file transfers? If you are in a medium or larger sized business, automating the easy stuff can help save on Opex.
  • Connection limits
  • Do you need to be able to make unlimited FTP/SFTP connections or can you get away with just one or two?
  • Logging – For auditing, compliance, and troubleshooting, detailed logs can be essential.. Does logging matter to you?
  • Synchronization & backups –  Do you need to be able to sync files at two different locations automatically? Would automating a backup process save your team a ton of time? If yes, look for these features in your client software.

The best Windows & Linux FTP and SFTP clients

1. SolarWinds Solar-PuTTY (FREE TOOL)

SolarWinds Solar-PuTTY

SolarWinds recently released Solar-PuTTY, a software that takes the popular PuTTY tool and builds it out a bit further to add a more modern GUI and a variety of additional features. I’ll be covering this software in more detail in a piece soon, so we’ll focus on the FTP, SCP, and SFTP features of SolarPutty here.

In short, this portable software is a useful tool for ad-hoc file transfers. It’s free, supports drag-and-drop transfers, logging, storing credentials and sessions, and more. I’ve been using Solar-PuTTY in place of PuTTY as my go-to SSH client for a bit, and the SFTP client has been a nice plus.

While I can’t say I like Solar-PuTTY’s interface more than WinSCP for SFTP/SCP transfers, the fact it is also an SSH client is a big plus. That and the storing of sessions makes it easy enough for me to use Solar-PuTTY regularly. If you’re looking for a piece of free Windows software that can serve as a “Swiss Army Knife” type of client tool, give Solar-PuTTY a try for free.

EDITOR'S CHOICE

Manage multiple sessions from the one tool and save credentials or private keys to any session. Great for script automation.

Get 100% FREE Tool: solarwinds.com/free-tools/solar-putty

OS: Windows

2. WinSCP

WinSCP

WinSCP is a popular file transfer client for Windows, boasting over 114 million downloads. It’s free, extensible, and supports SFTP, FTP(S), SCP, and WebDav (an extension of HTTP). WinSCP supports drag and drop, a variety of languages, scripting, and includes an integrated text editor.

This software was my go-to SFTP and SCP software for quite some time. The CLI (Command Line Interface), PuTTY integrations, and large user base all help extend how much you can get out of this free software. You can download WinSCP here.

3. FileZilla

FileZilla Site Manager

FileZilla is a free and open-source (released under the GNU General Public License) FTP client software for Windows, Mac OS X, and Linux.

FileZilla is a popular and mature FTP client software that supports FTP, FTPS, and SFTP. The “pro” version of FileZilla adds support for WebDav and a variety of cloud storage providers (Amazon S3, Dropbox, etc.) as well. FileZilla supports drag and drop, transfer of files greater than 4GB, configurable transfer speed limits, and more. One of the most significant benefits of FileZilla is its broad user community. If you are stuck trying to figure things out on your own and run into issues, this could be a handy free resource. You can download the FileZilla client for free here.

One of the criticisms of FileZilla has been that it tries to add “bloatware” during the install. While this is understandable given they are trying to make some money, it can be off-putting to many users. At the least, FileZilla gives you the ability to opt-out of the additional software during the install process. It is something you should be cognizant of before blindly clicking through the install of this tool.

4. CyberDuck

Cyberduck

CyberDuck is a free and open-source remote file transfer client with support for a wide variety of protocols and cloud storage providers. CyberDuck is a solid alternative for users looking to move away from FileZilla as it offers many of the same features and the ability to import bookmarks from FileZilla (as well as several other apps).

While CyberDuck has a respectable feature set when it comes to protocol support (FTP, FTPS, SFTP, and WebDAV are all supported) and security, what really stood out to me was its support for a wide variety of cloud storage providers. CyberDuck boasts support for Amazon S3, OpenStack Swift, Backblaze B2, Microsoft Azure & OneDrive, Google Drive, DRACOON, and Dropbox.

The GUI doesn’t default to a drag-and-drop “two-pane” view like many other clients, but I had no problem dragging from Windows Explorer into the CyberDuck GUI. You can download CyberDuck for Windows or Mac directly from its home page here.

5. MonstaFTP

MonstaFTP

MonstaFTP is a novel approach to FTP. It is a PHP and Javascript-based app that runs on a website and effectively makes your browser the FTP client. While this means that the network server administrator would need to set it up and therefore it isn’t the ideal solution for everyone, we thought the idea was worth noting here as well.

MonstaFTP supports FTP, FTPS, SFTP, and SCP. It enables users to upload .zip files and extract them on the server-side, edit files on-screen, customize the user interface, and rebrand the software. This could be an interesting solution if you are an administrator looking to make life easier for your users. As opposed to making them pick a client on their own (which may come with a non-trivial support burden for you), you can provide the client on the server-side. The ability to drag and drop from Windows Explorer is a nice plus as well.

There are lite (free), business ($49/year), and host ($149/year) versions of MonstaFTP available as of this writing. You can download the free version or buy a license here. You can also add a free 45 day Host Edition trial when you download the lite version. If you would like to take it for a test drive before installing, you can demo MonstaFTP from your browser here.

6. Coffee Cup Free FTP

Coffee Cup Free FTP

Coffee Cup Free FTP Client is a free FTP, FTPS, and SFTP client for Windows operating systems. In addition to those file transfer protocols, it can also support HTTP. The GUI supports drag and drop, and if you are okay with the ads across the bottom of the window, it is fairly easy to use.

The free version of Coffee Cup FTP supports archival, combo bookmarks, historical file information, and more. The paid version of this software, Direct FTP adds features like a built-in code editor with code completion functionality. You can download Coffee Cup Free FTP here. You can purchase Direct FTP here.

7. SolarWinds FTP Voyager Client (FREE TOOL)

SolarWinds FTP Voyager

The SolarWinds FTP Voyager is an award-winning FTP client system that includes SFTP and FTPS. This is a well-established program that has been in service since 1997 so it is stable and reliable. A great feature of FTP Voyager is that it is free to use.

The client can handle some very complicated tasks because it can connect to several servers simultaneously, perform simultaneous file transfers to different destinations, and is able to run on a schedule – it has its own scheduler.

Those factors open up a lot of possibilities of running a quite complicated file distribution system with automation. FTP Voyager also includes a folder synchronizing feature, which creates more process automation opportunities.

The interface for manual file transfers is easy to use because a panel represents each host involved in the connection in the interface, and the user can drag and drop files between the panels to get a file transfer running.

The same company also produces the SolarWinds Serv-U Managed File Transfer Server, which isn’t free. However, you can get it on a 14-day free trial.

FTP-Voyager Client however is free forever and can be downloaded from the same page on the SolarWinds site.

SolarWinds FTP Voyager Download 100% FREE Tool

8. IPswitch

IPswitch

IPswitch offers a robust WS_FTP Professional Client side for Windows with a variety of advanced features. According to IPswitch, this popular file transfer client is trusted by over 40 million users.

The WS_FTP Professional Client boasts support for a variety of transfer protocols including FTP, FTPS, SFTP, HTTP, and HTTPS. This makes IPswitch’s client software highly extensible. If one protocol doesn’t work, you will not need to immediately jump to another software to get the job done. With many use cases preferring HTTP or HTTPS transfers to FTP or SFTP, the addition of those two protocols is a big plus.

WS_FTP Professional Client also takes security very seriously. 256-bit AES Transport Encryption can secure file transfers, file integrity is validated using a variety of methods including SHA512, PGP file encryption is supported, and the cryptography is FIPS 140-2 validated. These features are a big plus not only for business users looking to remain compliant, but also users that place a premium on security.

Another benefit of WS_FTP Professional Client is the ability to automate tasks and back up data. For example, if you want to delete a file from location A after it is transferred to location B, you can automate that process along with the transfer. Similarly, you can schedule and compress backups of important data to a variety of locations including hard drives, network shares, file servers, or Internet hosting services. The synchronization feature helps you keep various directories in sync with one another and can help streamline administration.

Additionally, this software from IPswitch includes many other premium features that help make this a holistic file transfer client solution. These features include: email notifications, unlimited connections, proxy server support, logging, the ability to create and view thumbnails (think WordPress), and more.

Even though it is chock-full of features, I found WS_FTP Professional Client easy enough to get started with. The drag and drop GUI is fairly intuitive and helps you dive right into transferring files. You can download a free trial of the IPswitch FTP client here.

Alternatively: Use the built-in Linux, Windows, and macOS CLI programs

If you can’t, or don’t want to, install any programs you may be able to get away with the various command-line options available on most modern operating systems. Here we’ll provide a quick overview of what’s available on Linux, macOS, and Windows.

For those of you comfortable with the Linux CLI, the built-in SFTP and FTP programs may be all you need. If you are comfortable with using SSH from a command line, using these two programs should be easy enough. For a primer on SFTP from the Linux CLI, check out this Digital Ocean article.

command line sftp example screenshot

command line ftp example

Given that they are both *nix-based operating systems, the macOS SFTP command-line program is similar to the Linux SFTP program described above. However, beginning with High Sierra, macOS dropped support for plaintext FTP from the command line (check out this Apple discussion for details). If you need CLI plaintext FTP support and are running a newer macOS, installing the open-source inetutils might be the way to go. The command brew install inetutils can be used to install the inetutils suite of tools. Note: inetutils includes a variety of client and server programs, many of which transfer data in plaintext. Consider using an encrypted file transfer method like SFTP or FTPS instead of installing inetutils.

Windows also offers a built-in command-line FTP program you can invoke simply by typing “ftp” at the command prompt. However, there is no such program for SFTP, so you’ll need to install a third-party client tool like PSFTP (from the creators of Putty).

command prompt ftp example

Honorable mentions

There were two client software products that just missed making our list (if you think we should reconsider, let us know in the Comments section below).

Classic FTP is software you may want to consider if you are a Windows Home user who only needs support for FTP and FTPS (SFTP is not supported). Given the context of our list, we decided to leave it off as the freeware version is only available for non-commercial use.

FireFTP is a popular browser that we would have added to our list had FireFox not dropped support. Now FireFTP recommends users leverage the less popular WaterFox browser, so we decided to leave them off. The reasoning behind this decision was not that FireFTP or WaterFox is subpar, just that changing browsers just for FTP support might not be ideal given the availability of alternatives.

Need-to-know: FTP, FTPS, SFTP, SCP & Fish clients

What is FTP?

The File Transfer Protocol (FTP) is, as the name suggests, a client-server protocol used for transferring files between computers on a network. FTP uses Transmission Control Protocol (TCP) port numbers 20 & 21 by default. FTP enables users to download, upload, view, rename, delete files, and more.

FTP is a relatively old protocol. While this helps explain some of the oddities like using two ports, it also speaks to the maturity of the protocol. The original standard for FTP, RFC 114, was published in 1971. The current standard, RFC 959, was published in 1985.

Connection Modes: Active vs Passive FTP

There are two discrete FTP connection modes: active FTP and passive FTP. With active FTP mode, port 21 is used to send the control commands that dictate what happens during an FTP session. Port 20 is used for the actual transfer of data. In passive FTP mode, an arbitrary port higher than 1023 is used in place of port 20. Slacksite takes an excellent deep dive into the topic of active vs passive FTP if you’re interested in learning more.

Transfer Modes: Binary vs ASCII

There are also two different FTP transfer modes: binary and ASCII.

For text files (i.e. a file that is human-readable with a program like Notepad, vi, or nano), ASCII is recommended. This is because ASCII transfer mode supports character translation between different systems (e.g. conversion of end of line characters). This can be important when transferring scripts.

For non-text files, like JPEG images, binary transfer mode is recommended. This is because the character translation in ASCII mode can corrupt non-text files. If you have ever transferred an image between two computers and it wasn’t viewable on the receiving machine, the root cause may have been the ASCII transfer mode use.

If this gets a little hard to keep up with, don’t worry too much. In most cases, you can just use binary transfer mode and not think about it further.

Is FTP secure?

In a word, no. FTP sends files and credentials across the network in cleartext. That means data sent using FTP is NOT encrypted.

For this reason, it is often better to use an encrypted transfer method like FTPS (FTP Secure) or SFTP (SSH File Transfer Protocol).

What is FTPS?

FTPS is effectively FTP with support for TLS (Transport Layer Security) encryption. In the past, FTPS also used SSL (Secure Sockets Layer). SSL is much less common with FTPS today due to a variety of security issues. Using FTPS instead of standard FTP enables you to get the functionality of FTP, plus the benefits of encryption and certificates.

There are two main types of FTPS connections, implicit and explicit. Servers using implicit FTP listen for connections on port 990 instead of port 21. As mentioned by FileZilla, implicit FTPS is a legacy protocol at this point. This means you won’t see implicit FTPS used as much as explicit FTPS these days. Explicit FTPS (a.k.a. FTPES) uses port 21 like standard FTP and enables the client to call for an encrypted connection explicitly.

What is SFTP?

SFTP, rather counterintuitively, is NOT just an encrypted version of the FTP protocol. While it serves the same purpose of transferring and managing files, under the hood SFTP is significantly different from FTP and FTPS. Many of these differences stem from the fact that SFTP sits atop the SSH (Secure Shell) protocol.

One significant difference is the usage of ports. As opposed to using two discrete ports, SFTP uses just one. By default, this port is TCP port 22 (the default SSH port). Using the SSH port has the added benefit of making SFTP generally more “firewall-friendly” and less likely to be blocked by default.

Additionally, SFTP enables users to benefit from the use of SSH private keys. If you are unfamiliar with the benefits of SSH private keys and asymmetric cryptography, check out this article from Digital Ocean. In short, SSH private keys add an additional layer of security to the authentication process.

Personally, I prefer SFTP to FTP/FTPS/FTPES, but there are use case arguments for both. The near-ubiquity of SFTP on most Linux/Unix servers, firewall benefits of using the single port, and the security benefits of leveraging SSH are the reasons for my preference. However, some may make an argument for FTPS based on the specifics of a given environment (e.g. if there are already FTP servers running), support for X.509 certificates, or support for server to server file transfers.

What about SCP and FISH?

If you are researching file transfer protocols, you may have come across SCP (Secure Copy) and FISH (Files Transferred Over Shell Protocol). These two protocols are similar to SFTP in that they use SSH to facilitate the connection (FISH can also use rsh).

SCP is a popular solution that can prove helpful if you simply need to transfer files. However, if you need to list remote directories, create new directories, remove files, or do other administrative tasks, you’ll need to use SFTP or FTP.

FISH is not as widely-used as SCP or SFTP, but may be helpful where resources and the ability to install software on the server-side is highly limited.

Where are FTP & SFTP used?

You can find FTP and SFTP used in a wide variety of use cases. Anytime you need to transfer files from computer A to computer B or manage files on a remote system is a potential use case for SFTP and FTP. Some of the most popular use cases include:

  • Uploading files to Content Management Systems (CMS) like WordPress.
  • *nix server administration. SFTP is ‘the’ popular choice here.
  • File sharing. Using a protocol like SFTP may be particularly useful to meet compliance requirements (e.g. for SOX, HIPPA, or FIPS).
  • Firmware upgrades. Many devices support firmware upgrades via FTP or SFTP.

Let us know what you think!

That was our list of the eight Best FTP and SFTP Clients for Windows and Linux. Have you tried any of the software tools mentioned in this article? Do you think there is something we left out? Do you have a question about one FTP or SFTP? Let us know in the Comments section below.