FTP, or File Transfer Protocol, is a way for a computer to send files to a server. It’s used if you want to upload a file from your computer (the client) to a remote server over a network. It’s popular because most servers actually sit in a rack in a database centre somewhere miles away from where you’re working.
For example, Amazon’s AWS S3 Cloud is a hugely popular server and cloud storage platform.
Huge numbers of websites host image files and web apps there. You can’t,
however, just rock up to Amazon’s data centre with your laptop in hand and
expect to be able to plug a USB directly into “your” server so you can tweak a
few files. Instead, you use FTP (or some other web protocol) to send files to
your server from afar.
While most servers have a basic FTP function that
works through any browser, as a whole, FTP software is clunky and pretty awful
to use. This is where FTP client software comes in. With an FTP client, you get
to use a nice native app that connects directly to your server, rather than
relying on your browser.
One quick note. When we talk about FTP, what we’re
really talking about is SFTP (Secure File Transfer Protocol)—and sometimes FTPS
(File Transfer Protocol Secure)—which are like FTP but encrypt the files you're
uploading for security. Both protocols are based on FTP and work essentially
identically; they’re just a lot more secure. All the apps we’re going to look
at will support FTP, FTPS, and SFTP (and often many more).
What We Want From a Good FTP Client
FTP clients, whether for Windows or Macs, have a pretty simple job. They really just need to make it possible for you to upload files from your computer to a remote server or download files from the remote server to your computer. A good FTP client obviously has to clear this low low bar for a variety of different protocols like FTP, FTPS, and SFTP. Bonus points if you can also use it to connect to other cloud storage solutions like Dropbox, Box, Google Drive, and so on.
As well as just performing the basic uploading and
downloading of files, good FTP client software makes it easy. There should be
no need to dive deep into menus, use the command line, or do anything else
unintuitive. Ideally, we’re looking for a dual pane drag-and-drop File Explorer
type interface. Basically, you'd have one pane for the client computer and one
pane for the server. You could then use the relevant pane to explore the file
system on each device and then just drag and drop files between them as if you're
just moving files between two folders on your computer.
The biggest problem with browser-based FTP clients is that they’re unreliable. If your internet connection drops for a second—or is even just slow—they have a hissy fit. A good FTP client is going to take dropped and slow internet connections in its stride without failing all the time.
Browser-based clients also struggle to upload large files or folders because of their aforementioned unreliability. A decent FTP client isn’t going to have a problem uploading 100s of GBs, or even a few TB, at once. Obviously, how long it takes will depend on your connection, but it should get done without issue.
We also want an FTP client that’s lightweight and
doesn’t waste system resources. If you’re uploading or downloading large files,
you’re often going to want to leave your FTP client to run in the background
while you do other things on your computer.
Finally, and this is more of a personal one, but a good FTP client also has a good interface. Nice interfaces where everything is arranged logically are just much easier to use. Being functional and basic is fine, as long as things make sense, but being functional and great looking definitely gets bonus points.
Now, without further ado, let's look at five of the best FTP clients available right now.
1. Cyberduck, FTP
Client for Windows and Mac
Cyberduck is one of the most beloved FTP clients around, especially by Mac fans. It's also free. If you ask a web developer what the best free Mac FTP client is, they’ll often say Cyberduck without hesitation.
First and foremost, Cyberduck is free, great looking, simple to use, and supports a wide range of protocols including FTP, SFTP, WebDAV, Amazon S3, OpenStack Swift, Backblaze B2, Microsoft Azure & OneDrive, Google Drive and Dropbox. Odds are, whatever server you’re using, you’ll be able to connect to it using Cyberduck.
While Cyberduck is a favourite of Mac fans, it's also available on Windows. There are, however, arguably better Windows-specific FTP apps out there, which we’ll come to in a minute. If you quickly look at Cyberduck’s website you’ll see dozens of mentions of Mac apps and features, like Finder, Notification Center, and Retina Displays—which gives you a pretty clear idea of where Cyberduck’s dev team’s interests lie.
2. WinSCP, FTP Client for Windows
WinSCP is a free, award winning FTP client for Windows
that’s been downloaded more than 110 million times. While it’s true that not all that is popular is good,
WinSCP is both popular and good.
Like Cyberduck, WinSCP has a nice GUI tailored to its OS of choice: in this case, Windows. It can also connect to remote servers using the FTP, FTPS, SCP, SFTP, WebDAV, or S3 protocols. You've got to be running a server running pretty niche software for WinSCP to be unable to connect to it.
One nice feature of WinSCP is the integrated text editor. This means you can quickly make changes to text files without having to open them in another app. While editing text files that are live on a server isn’t something we can really recommend, and can totally break your website or web app, we’d be lying if we didn’t admit that every web developer hasn’t done it on some occasion to quickly fix a bug or update a small bit of text. To be honest, I can’t remember the last change to my website that I didn’t just do live!
WinSCP might be simple to use, but that doesn’t mean it’s just for simple uses. There’s lots in the feature list, like a Command-line interface and scripting and automation, that are only really for professional developers.
3. CuteFTP, FTP App for Windows and Mac
Free and open source apps like Cyberduck and WinSCP are all well and good, but they do come with all the usual problems of open source software. Since they’re largely maintained by hobbyists in their spare time, updates and bug fixes can be slow in coming, and support is basically non-existent. If you—or more likely, the organization you work for—needs something with great help documents and a support team standing by, then you need to go with a premium solution.
CuteFTP comes in three versions: CuteFTP 9 for Windows at $59.99, CuteFTP 9 for Windows with 1 year of maintenance and support for $89.99, and CuteFTP Pro for Mac. This is another case where we’re going to only really recommend the Windows version as that's the focus of the CuteFTP team; we’ll look at a professional Mac FTP client in a second.
As a professional solution, CuteFTP comes stacked with professional features. As well as FTP, FTPS (SSL), HTTP, HTTPS (SSL) and SFTP (SSH2), CuteFTP also supports OpenPGP encryption and One Time Password authentication for when you've got to absolutely ensure your files are safe in transit. CuteFTP also has really powerful scheduling and automation features so you regularly back up or sync files to your site.
Despite all these pro features, CuteFTP is still
simple enough for anyone to use. With a great interface, good docs and built in
wizards, no one is going to be left staring at their screen with no idea what
4. Transmit 5, Premium FTP Client for Mac
Panic Inc, the developers of Transmit 5, bill it as
the “gold standard of macOS file transfer apps”. They’re not wrong. Almost
every professional web developer I know who uses a Mac, uses Transmit as their
go to FTP client. I’m not even a professional and it’s the one I use.
Transmit can connect to your servers using the FTP,
FTPS, SFTP, Amazon S3, or WebDav protocols. It can also directly connect to your
Amazon Drive, Backblaze B2, DreamObjects, Dropbox, Google Drive, Microsoft
Azure, Microsoft OneDrive, Microsoft OneDrive for Business, OpenStack Swift,
and Rackspace Cloud Files cloud storage accounts.
As you’d expect for a pro app, Transmit also has pro features like automated folder syncing so you can automatically upload or back up files, local-local and even remote-remote sync, 2FA support, rule-based syncing, and lots more.
Like CuteFTP, since Transmit 5 is a proprietary app under active development, there are great help documents and a support team to help you out. This means that you can rely on the app at crunch time.
5. CloudMounter, FTP
Client for Windows and Mac
CloudMounter is a different take on FTP software.
Rather than having a separate client app, it connects Finder (or Windows
Explorer) directly to your servers.
Basically, your server gets mounted as an external
drive you can access as normal from your system’s file manager. If you’ve got a
fast internet connection, you’ll barely notice the difference between the two.
Unfortunately for the time being, CloudMounter for Mac supports a much wider range of protocols than CloudMounter for Windows, though since the latter is much newer, we hope that changes soon. CloudMounter for Mac works with FTP, SFTP, FTPS, OpenStack Swift, Dropbox, Microsoft OneDrive, Amazon S3, Google Drive, Backblaze, WebDAV, and Box. CloudMounter for Windows only works with Dropbox, Google Drive, and Microsoft OneDrive.
While CloudMounter is super convenient, it isn’t super cheap (especially for the relatively underpowered Windows version). The Windows app costs $30 and there’s an optional $15 for guaranteed lifetime upgrades; the Mac version is $45 straight out.
6. FileZilla, Free FTP Client for Windows and Mac
FileZilla puts this reviewer in an interesting
position. While it's a good, free FTP client that’s been used by millions of
people, in the past few years it’s fallen out of favour. Users have repeatedly
found adware or spyware included alongside FileZilla when they download it.
Granted, there's a checkbox you can uncheck to opt-out of the installation,
it’s still a pretty scummy tactic.
Honestly, I’m only including FileZilla because it’s almost impossible to talk about free FTP clients without mentioning it; it's just too popular. The underlying client is great—so long as you can accidentally installing avoid unwanted adware—but it’s probably better to go with a different app from this list.
As an open source protocol, there are lots of different FTP clients out there filling different needs. You’ve got everything from free apps like Cyberduck, which are great for anyone who needs a simple FTP client to the likes of Transmit, which is targeted at professional Mac developers who want the best native experience possible. From the list above, you should be able to find the one that's the right fit for you.