The File Transfer Protocol, or FTP, has been around forever. It is the most-used way of moving all sorts of files from one computer system to another. Designed to be totally interoperable, it makes it easy to transfer files between incompatible systems. FTP is a client-server system. To transfer files via FTP, you use an FTP client which in turns connect to an FTP server running on the remote computer. Given its age, you can imagine that there are lots of FTP client software out there. We’ve done much of the hard work of finding and trying them and we’re glad to present our list of the best FTP and SFTP clients for Windows and Linux.
As we often do, we’ll start off our discussion by introducing the FTP protocol in greater detail. Next, we’ll discuss security. We’ll see how SFTP was introduced to address security concerns with the protocol. Then we’ll briefly pause to discuss FTPS, another way of securing FTP transfers and, while we’re at it, we’ll also introduce SCP as it has become more and more popular recently as a way of securely transferring files. Finally, we’ll be ready for our core matter. We’ll first review the best FTP clients for Windows. Then, we’ll see whats available for Linux. And last but not least, we’ll also review some packages that are multi-platform and are available for both operating systems.
- 1 FTP In A Nutshell
- 2 What About Security?
- 3 The Best FTP And SFTP Clients For Windows
- 4 The Best Linux FTP And SFTP Clients
- 5 The Best Multi-Platform FTP and SFTP Clients
FTP In A Nutshell
The File Transfer Protocol was first created way back in 1971. This is almost prehistory in computer years. The protocol specification was updated in 1880, then in 1985. Since then, it has remained largely unchanged.
FTP is a client-server protocol where file transfers occur between an FTP server and an FTP client. Those are two very different pieces of software and, while some vendors offer both FTP client and FTP server software, no software that we know of offers both in one package.
Contrary to some other, cruder file transfer system, FTP offers a wide range of file management features in addition to file transfer. To the FTP client, the FTP server presents a file hierarchy which is purposely not unlike a computer file system. In fact, the FTP server often does present part of its host’s file system to the client. The client is free—within its user’s file access privileges; more about this in a moment—to browse directories, list files, and sometimes perform other file management tasks.
Original FTP clients were command-line utilities but today, many FTP clients offer a graphical user interface that is sometimes very similar to a local file manager. Some even support dragging files from the local file manager to the FTP window to initiate a transfer.
What About Security?
Security in the FTP world is a multi-faceted reality. The protocol has some very basic built-in security. First and foremost, FTP uses user accounts to control access to the server. An FTP client trying to connect to an FTP server must, therefore, supply a username and password. Often, FTP servers will use the underlying operating system’s user accounts for authentication.
FTP also implements file system access control where users only have access to some files or some folders. They also could have different access rights to different files or folders. Some could be made read-only while others can be read-write. File access rights in FTP are very similar to local file system rights. In fact, most FTP servers use the underlying file system security and access privileges. There is also anonymous FTP which allows a client to connect anonymously and access a very restricted subset of the file system under the FTP server’s control.
So, while FTP provides a somewhat secure access to files and folders, it has several security issues. For starters, the username and password are transmitted between the client and server in clear text. Anyone equipped with a packet sniffer would, therefore, be able to see that information.
But that is not the only security concern with FTP. The biggest one is that the file transfer themselves are not secured. Each file is transferred unencrypted and could be intercepted by ill-intentioned individuals or organizations.
SFTP For Secured File Transfers
SFTP, or SSH File Transfer Protocol, tries to address the security issues of FTP. But contrary to what we might be led to believe, SFTP has nothing in common with FTP. SFTP is a completely different protocol which adds some file transfer and file management capabilities to the Secure Shell (SSH) protocol. The main advantage to SFTP over FTP is that the connection and the file transfer are encrypted using the SSH protocol, shielding it from sniffing.
FTP and SFTP are so different in the way they operate that many servers will do either one or the other but not both. In fact, SFTP is often a feature found in SSH servers.
SFTP and FTPS: It’s Not The Same Thing
There is often some confusion between SFTP and FTPS. It’s understandable as they are both file transfer systems that address the security shortcoming of FTP. They way they operate is completely different, though. We’ve just seen how SFTP uses SSH to encrypt file transfers. As for FTPS, it really is the FTP protocol which uses SSL encryption instead of clear text. FTPS is to FTP as HTTPS is to HTTP.
You may be wondering which one to choose as they both appear to provide a secure file transfer. Nowadays, organizations tend to prefer SFTP mainly because–contrary to FTPS, which uses one TCP port for control and one for data–SFTP transmits everything on the same port, making firewall configuration a bit easier.
SCP: Another Secure File Transfer Protocol
To make thing even more confusing, another secure file transfer protocol called Secure Copy (SCP) also exists. SCP is a simpler protocol that also uses SSH but only offers file transfer capabilities. There is no way to browse file systems and move from one directory to another or even to see a list of available files in SCP. All you can do is copy a file to or from the server.
The Best FTP And SFTP Clients For Windows
Now that we’re familiar with FTP and all its secured variants, we’re ready to have a look at the best FTP and SFTP clients we could find. All of them will at least handle FTP transfers while other will also support SFTP, FTPS, or SCP. We’ll make sure to specify what protocol each software allows. Windows is still the most-used operating system so let’s start by briefly reviewing the best clients for that platform.
1 — FTP Voyager (FREE DOWNLOAD)
SolarWinds is a well-known name among network administrators. The company makes some of the best network administration tools. For instance, the SolarWinds Network Performance Monitor is arguably one of the best SNMP monitoring tools. SolarWinds is also know for its numerous free tools which address specific needs of administrators.
The SolarWinds FTP Voyager is one of these free tools. Formerly from Serv-u, FTP Voyager is a full-featured client that will handle FTP, SFTP, and FTPS file transfers. This software has FIPS 140-2 validation and a Certificate of Networthiness from the US Army so you can trust that it is secure.
The client has several useful advanced functions such as scheduled file transfers of folder synchronization—both manual and automatic—between the client and server. The client also has post-transfer actions and can, for example, send email, delete files, run programs, shut down, and perform other actions after a transfer completes.
2 — CuteFTP
CuteFTP is possibly the best-known FTP client for Windows and it has been for a long time. It’s been around since 1996. The product has changed hands a few time through its existence and is now part of Globalscape, a company that specializes in electronic file transfers.
Feature-wise, this FTP client leaves nothing to be desired. First, it will support most protocols including FTP, FTPS, HTTP, HTTPS, and SFTP. Also, using it is super easy and you can set up a new connection quickly using the step-by-step wizard. CuteFTP will even let you edit remote file right from the FTP client, thanks to its built-in editor with syntax color-coding.
The software also supports automation and you can schedule and script transfers with minimal overhead. Furthermore, it will also integrate with any COM-enabled scripting or programming language.
CuteFTP can be purchased for $59.99 and a free trial is available.
3 — CoffeeCup Free FTP
Some people know CoffeeCup for its HTML editor or some other web-related tools. But Coffee Cup also makes a pretty good free FTP client which is aptly called Free FTP. This TFP client is designed to be powerful, user-friendly and fast. Connecting to a server is as simple as clicking a button and transferring files is a matter of dragging and dropping them.
The client will handle FTP, SFTP, and FTPS file transfers as well as HTML transfers. It also has some great file management features, both local and remote. But one of the most unique features of Free FTP is its use of bookmarks which let you save your place in a folder on your local computer, the remote server, or both. You can also archive a whole remote directory in a local zip file in one click, a useful feature for backing up a website, for example.
As its name implies, Free FTP is available at no cost but CoffeeCup also has a product called Direct FTP which is a paid FTP client with even more features.
The Best Linux FTP And SFTP Clients
Linux is another immensely popular platform with network administrators so we felt we had to include Linux FTP clients on our list. And when you consider that historically, all these file transfer protocols have a Unix origin, it even made more sense. And as you’ll see, there are plenty of excellent clients for the platform. Here’s a small sample of the best of them.
4 — gFTP
gFTP is a typical example of “an oldie but a goody”. The software hasn’t been updated in about 10 years yet it’s still quite popular. It goes to show how good things can last. And after all, the FTP protocol itself hasn’t been updated in much longer than that.
The gFTP client offers an intuitive user interface and easy configuration. It’s a free multithreaded file transfer client distributed under the terms of the GNU Public License Agreement. The tool has both a text-based interface and a GTK graphical interface so it will run on any Linux whether it has a GUI or not.
This client will support FTP and FTPS but also HTTP and HTTPS and SSH—and therefore SFTP—as well as FSP. It is also one of the rare clients to support FXP which is the direct transfer of files between two servers under the control of a client. Last but not least, the tool has been thoroughly internationalized and its interface is available in over 50 languages. gFTP can be downloaded directly from its website.
5 — NcFTP
The main intention beyond NcFTP was to replace the stock FTP command that is built into most *nix systems with one with more features. As such the software provides a powerful and flexible interface to the FTP protocol.
Although the program may appear rather plain and unadorned—especially when compared to other products—it has many valuable performance and usability features. Among the product’s coolest features, you’ll find progress meters, filename completion, command-line editing, background processing, auto-resume of downloads, bookmarking, and cached directory listings. The software also works with firewalls and proxies and will easily let you download entire directory trees.
This is not a graphical tool, though. Its interface is all text-based. When you start it, you’re taken to the tool’s shell where you enter commands and see results. Commands are similar to typical operating system commands. You use open to open a connection to a remote FTP server or cd to move within its directory structure.
6 — LFTP
LFTP is yet another text-mode FTP client. Those are very common in the Linux world. This client supports several protocols including FTP, HTTP, FISH, SFTP, HTTPS, and FTPS. It will even handle BitTorrent transfers.
The main differentiating factor of this client is its reliability. There is almost no way this client can fail to transfer files. Even if you exit its shell while a transfer is in progress, it will keep running as a background process until it completes.
Other features of the product include job queuing, enabling you to launch the next transfer before the current one finishes and scheduled execution to transfer files at a specific time. Also worth mentioning is a mirroring feature which allows you to automatically transfer whole directory structures.
LFTP is distributed under the GNU GPL license and can be downloaded for free from its own website.
The Best Multi-Platform FTP and SFTP Clients
It might appear from the previous section that there are no good GUI FTP clients for Unix but nothing is further from the truth. The best FTP clients are actually multi-platform products which have versions for both Windows and Linux. One advantage of a multi-platform client is that once you’ve mastered it, you can apply that knowledge to every version of the software.
7 — FileZilla
FileZilla is possibly the most famous of all FTP clients. It’s available for Windows and Linux and also for OS X and it will support FTP, FTPS, and SFTP transfers. FileZilla uses a tabbed graphical user interface allowing users to run several simultaneous tasks in different tabs.
Functionality-wise, the software has a lot to offer. Here’s a summary of its main features. The software has a drag and drop interface for uploading or downloading files. It also supports resume, allowing you to pause a transfer and complete it later. FileZilla also has a site manager features for easy management and transfer of complete websites as well as a directory comparison feature that will compare file names, sizes, and dates on a local and remote directory.
FileZilla is available for free under the GNU GPL license. It can be downloaded from the FileZilla website.
8 — Free Open FTP Face
Despite its weird name Free Open FTP Face—which is often simply called FOFF—is an interesting option as an FTP client. It is a lightweight graphical client written in Python using the GTK+ library. It has a modern user interface and its main emphasis is simplicity and ease of use rather than packing it with extra features. The software might not do everything competing packages do but what it does, it does well and easily.
Being simple doesn’t mean it’s featureless, tough. FOFF has a few interesting and unique features. For instance, it has a built-in telnet and SSH client, a text viewer, an image viewer, and an audio player. With all these built-in tools, you can instantly preview files without having to launch a different tool. You can also enter commands on the remote host. The client also has built-in support for checksums and features one-click gzip compression and decompression.
FOFF is available for free under the GNU GPL license and can be downloaded from its own website.
9 — CrossFTP
CrossFTP is a free FTP client for Windows, Linux and OS X. It comes with a pretty decent array of features. First, its tabbed interface allows you to have many connections open at once. File transfers can be initiated by simply dragging and dropping files to the tool’s tabs. The software also has password encryption so your remote site passwords are not stored in clear text on your computer. CrossFTP also has archiving features with its built-in compression, decompression, and browsing of archive files.
The main drawback of this client is that it only does FTP transfers. If you want SFTP or FTPS functionality, you’ll need to upgrade to the paid CrossFTP Pro version. But if FTP is all you need, then CrossFTP might be just right for you.