5 of The Best Free FTP Clients For Mac Users In 2020 – Best Alternatives for FTP
Written By: Grant Darling
January 10, 2020
When I made the switch from PC to Mac, I fell in love with the development set-up. The ability to use nearly any software from the Linux/Unix world, a powerful command line, one-step command installs and so much more than makes (in one developer's opinion) Mac superior to Windows for web development. However, one major frustration I had with my Mac was finding an FTP client that was flexible, simple and reduced my development time. Well, I've done some research and found some of the best Mac FTP clients in 2020. Including my current set-up, that lets me sync my local folder with my server to upload all my files upon saving. Significantly reducing the redundant steps in my workflow. So here it is, the best free FTP clients for Mac users!
Just to reiterate, this article is for Mac users. Some of these FTP clients may be available for Windows but they are all available on Mac.
So, for all of my fellow Mac users, here are 5 of the best free FTP clients in 2020!
What is an FTP Client, FTP, SFTP and FTPS?
Before we get into some of the best free FTP clients on the market, it's important we define what an FTP client is and the difference between FTP, SFTP and FTPS.
An FTP (File Transfer Protocol) client is software that establishes a connection between a host computer (your computer) and a remote server (where your website is hosted). The primary benefit of an FTP is to make our lives easier as developers when we want to upload, delete, modify or create files on our web server from our computer.
However, using FTP is an unsafe way to transfer files. As we just explained, an FTP client establishes a connection between your computer and a remote server to upload files. With FTP this connection is unencrypted meaning it can be easily accessed by anyone hoping to intercept the connection. Although this wasn't considered a problem when FTP was first created, it is now.
A much safer way to connect to your web server is SFTP and FTPS. FTPS is an FTP connection that is served over SSL protocol much like how HTTP can be served over HTTPS. While SFTP is served over SSH (Secure Shell).
Which is safer? Well, since FTPS opens multiple ports to establish its connection, it is technically considered a larger security risk than SFTP. That being said, both offer strong protection and are much safer than FTP.
Now that you know what an FTP client is and the security risk of using plain FTP, we can get into some of the best FTP clients of 2020!
That's right, the first FTP client on our list is actually a plugin for my favourite code editor, Atom! Is that biased? At least let me explain why.
Using sftp-deployment has changed my workflow drastically as a developer. Many FTP clients miss one crucial aspect of development. The ability to upload to a server on save!
I found that working on local files didn't work properly if you were working on a site with a CMS (like WordPress). Uploading files to the server each time I wanted to see updated changes? No thanks. The atom sftp-deployment package saved me from that. Being able to upload files every time I pressed (CMD + S) made my life so much easier while working on a WordPress staging site (or even small tweaks on a live site). It works by merging your server files with an empty local folder that you can sync with your folder.
One major point I want to add is since you are replacing old code with new code and wiping the history each time you save, I highly suggest implementing Git or Github into your workflow to have version control in your projects.
Atom sftp-deployment (as the name suggests) also allows a secure connection over SFTP or FTPS, is available for Mac and Windows and is also free. Overall, it is the best FTP client I could personally ask for.
The cons of using this package as your primary FTP is that it's not a "true" FTP client. It's a package built for the Atom editor and isn't "well known". You also need to understand how to set it up and the FTPS protocol can be confusing. Here is the .json code necessary to open an FTPS connection. What I use for sites with shared hosting.
Here is a great video to set up the package with FTP, but honestly, take the extra steps and set up FTPS or SFTP!
I know all the cool kids on the block use visual studio so I decided to include the Visual Studio version of my favourite FTP client, FTP Simple. It works very similarly to sftp-deployment, so if you aren't a fan of its added benefits, I am sure #3 on our list will be a better fit for your needs.
I have only worked with Visual Studio: FTP Simple briefly, but it should do the trick if your code editor of choice is Visual Studio. Here is a great tutorial to set it up as well.
If you are looking for a more mainstream alternative, I highly recommend checking out Cyberduck. Cyberduck is one of the most popular FTP clients available for Mac and one that I have used a lot for my own projects. Cyberduck can do all the basics you would hope for with an FTP client. Such as uploading, deleting, adding and modifying files, drag and drop images/files, and connect via SFTP or FTPS. It has a simple and easy to understand interface, includes client-side encryption and supports connections to Google Drive and Dropbox from their API
It is also possible to set up upload on save with Cyberduck as well. However, it is much more difficult than the options above and requires using the terminal. I have never taken the time to figure out how this works yet, but this video could be a great place to start if you want to be a real developer.
The only downside I found annoying about Cyberduck was that it asked for donations every time you start the application. A fair trade for a well built, free FTP client.
The great part of our powerful Mac command line is that we can actually run an SFTP connection straight from our terminal!
There's also something much more satisfying and simpler (sometimes..) about using the terminal over a GUI.
SFTP comes with the macOS and no external software is necessary to create a secure connection. If you want to learn more about running SFTP in your terminal, you can check out this video or read through this great resource from the University of New Mexico.
I created this article so that you had some great free options for FTP clients. However, if none of the above are doing the trick for you, it may make sense to go for a paid option. If you're going to purchase an FTP client, Transmit is the way to go. It contains all the basic functionality of an FTP client and more. Transmit can upload, edit, drag and drop files, allow collaborating with others, be used with any editor to save on upload, allow customizing of your interface, and much more. You can check out their promotional video here.
As of 2020, Transmit is a flat fee of $45 and seems to be highly recommended by many fulltime developers. Being mentioned on many r/webdev threads for best FTP client
If you are tired of pulling your hair out trying to make your FTP client do what you want it to do, try out Transmit.
Why I Don't Recommend Filezilla:
I am going to take the unpopular route to not recommend Filezilla as your FTP client. Filezilla is one of the most popular free FTP clients (for both Windows and Mac). However, at it's best, it is a bare-bones FTP client. It really has no added benefit that Cyberduck can't provide.
What's much more concerning is that Filezilla has a very shady past. Something every blogger seems to completely disregard when they recommend Filezilla as their top FTP client.
Here is a reference to a University of New Hampshire article that alerts of Malware being detected in Filezilla software in 2018 and an r/webdev thread that notes how corrupt Filezilla really is.
There are tons of great free alternatives, so why risk choosing Filezilla just because it's popular?
Anyways, that's pretty much it! The five best free FTP clients for Mac to better your workflow and make your life as a developer easier. If you have any other FTP client that is Mac-centric and not mentioned in this list. I would love to hear about them in the comment section below!
If you're looking for more development content to binge read, check out How To Plan a Coding Project — A Programming Outline. Happy coding!