FTP is one of those protocols that has been around forever (introduced in 1971!) and is still used a lot today. To be honest, I’m now using SFTP more than FTP, but the clients remain the same, so here is a short list of my favorites for this task.
A good FTP client is an application that offers the right balance between essential features without unnecessary bloat, ensuring optimal efficiency. It’s also important to use one that is regularly maintained to receive security and performance updates.
Here is a list of 5 FTP clients I recommend, pick the one you prefer depending on your needs and preferences.
FileZilla is probably the most used FTP client currently and for good reason. It’s simple to use, has all the important features, and still receives regular updates even if it’s not a new app at all (first released in 2001).
I use it all the time as my default FTP client on all operating systems. And it has been that way for many years, no alternative has made me change my mind. Maybe it’s just habit, but I think you’ll like it too – it has never disappointed me.
Here are the main features included in FileZilla:
- Probably one of the best interfaces in my opinion: easy to use and modern compared to the other alternatives. As with most FTP clients with a GUI, you have one side for your local computer and the other for the remote server, but everything about it is great and intuitive enough.
- The site manager allows you to save your server’s IP, login, and password safely without having to type them each time. It looks like this:
- Multiple protocols support (as mentioned in the introduction, I often use it for SFTP and it works the same way).
- Cross-platform (Windows, Linux, BSD, macOS).
- Remote file editing.
- Synchronized directory browsing: I like this feature.
For example, when I do web development, I have the website source code on my computer and the same file tree on the remote server. Switching from one folder to another on one side changes it simultaneously on the other side.
- Speed limits. It can be useful when you share a bad connection but still need to transfer a ton of data.
This is just a short list of the main features I like, but the list goes on and on. Give it a try to see all its potential.
FileZilla is free, open source, and is easily available for all operating systems, most Linux distributions and often included in the default repository.
It’s the case with Ubuntu, where you can install it simply with APT (package manager):
sudo apt install filezilla
If you prefer, there is also a Snap available in Ubuntu Software.
If you’re new to the Linux command line, this article will give you the most important Linux commands to know, plus a free downloadable cheat sheet to keep handy.
To me, gFTP was the FileZilla alternative for Linux users in the beginning. I don’t know the full story, but I know that many years ago I was using it on Linux while using FileZilla on Windows.
gFTP is now a solid alternative to FileZilla with similar features. Something to consider, however, is that the project doesn’t seem to receive as many updates and it’s only available on Linux.
I won’t list all the features here, but you can consider that any major feature available in FileZilla is available with gFTP. If you compare my screenshot for both apps, the interface is very similar too.
For most users, it’s a matter of taste at this point. Unless you’re looking for something very specific, gFTP should be able to do the job.
Let’s take a minor difference as an example. gFTP doesn’t have a site manager like FileZilla, but has bookmarks with the same goal in mind (shortcuts to your most used servers). It looks like this:
gFTP is also free and open-source. It’s still available in the default repository on Ubuntu, so I guess it receives enough updates to be considered safe to use. Just don’t expect new features unless a new developer takes it over.
Here is the command to install it with APT:
sudo apt install gftp
Files (default Files explorer)
Formerly known as Nautilus, “Files” is the official manager for the GNOME desktop environment, which is the default on Ubuntu.
Good news: on Ubuntu Desktop you already have it and the FTP protocol is supported natively!
Files is not meant to be a full-fledged FTP client like the previous option, but rather a minimal alternative for someone who doesn’t use FTP that much, or doesn’t have complex needs.
You can use it to access any server, anonymous or user protected, and save it in your file explorer bookmarks for later use, which can be enough for most people.
If you’re not a developer, but just need to upload files to a remote server occasionally (or download them), it might be enough for you.
In my previous job, we installed FileZilla on the PR team’s computers to send visuals to the press, but this option would have been enough. Perhaps less convenient, but probably easier to use and sufficient in most cases.
Files / Nautilus is installed by default on all Ubuntu versions (with a desktop environment), it’s the default file explorer.
Here is how to use it:
- Open the file explorer.
- Press CTRL+L to edit the current location.
- Type the FTP server address in this format:
- Once connected, you can browse as if you were working on local files.
- Copy and paste any file between the FTP server and your local folders to upload or download files.
Note: If the goal is only to download files from remote FTP servers, it might even be easier to use your web browser for this. Add a bookmark with the URL using the same format and you can download your files easily that way.
lFTP (Command Line Interface)
lFTP (it’s an “L”, like in “Lite”) is a command-line FTP client. It’s a great option when you don’t have a desktop interface (or don’t want to use it), like on Ubuntu Server.
I mostly use rsync or scp in this case, but it’s an article about FTP clients so let’s use one :-).
lFTP is a command-line FTP client, so don’t expect the same level of features as in FileZilla, but they still did a great job to add useful features in addition to the most basic operations. For example, you can transfer queues of files, resume partial downloads, set speed limits, etc.
Here are the main commands to use lftp from your terminal or Ubuntu server:
- Connect to a server:
lftp ftp://user@IPThe password will be asked if needed, or you can use the “login” command to switch from an anonymous to an authorized user after the connection if your server supports it.
- List current directory:
- Change remote directory:
cd <remote_folder>So browsing the remote server works as in a traditional shell terminal.
- Change local directory:
- Display current directories.
- Download a remote file to a local folder:
- Update a local file to a remote folder:
All commands are listed in the manual, it’s just a bit harder to read, but you have the most important ones here.
lFTP is available on Ubuntu via the default repository. As with most clients in this list, you can install it with APT:
sudo apt install lftp
Note: When working with the command line interface, NcFTP is another option that comes to mind if you want to try something else.
CrossFTP is the professional alternative to FileZilla and gFTP. It’s a commercial product, with advanced features that might be useful for power users.
There is a free version that you can use freely on your Ubuntu computer, but there are also Pro and Enterprise versions available. The license costs between $25 and $40 per computer and includes premium support. There is a 30-day evaluation trial available if you want to try the Pro features.
To be honest, I’ve been using FTP clients for 20+ years and I have never needed customer support or one of the advanced features listed below, so I’m not sure about this one. I just want to include it in this list to be thorough and let you know that professional options are available, even for Ubuntu users.
The main features in CrossFTP are basically the same as in FileZilla and gFTP. Similar interface with two panels, a site manager, advanced settings, etc.
But here are a few extra options they promote on their website:
- WebDAV support.
- Cloud server support (Amazon S3, Microsoft Azure and Google Cloud Storage)
- Amazon Glacier support for backups.
- Archives support: compress, extract, and view archive content directly from the FTP client.
As for most commercial products, they have a pro version including more advanced features, so the free edition will never be the best FTP client overall, it’s not their goal. But it’s a decent alternative though, so if the previous options are not to your taste, you can give it a try.
In addition to being a commercial product with paid versions, installing CrossFTP is also more complicated. Java is required, and you need to download the Debian package from their website, it’s not available in the APT repositories.
Start by installing Java runtime if you don’t have it yet:
sudo apt install default-jre
Then, you need to download the Debian package from the official website here.
Once downloaded, use dpkg or the GUI to install it.
In command lines, it looks like this:
sudo dpkg -i crossftp_1.99.9.deb
Just make sure to update these commands with the latest version available.
In short, FileZilla is the best FTP client on Ubuntu for 95% of users. It’s free and includes all the most useful features. On Ubuntu Server, lFTP and NcFTP are suitable alternatives for the command-line interface.
If you are looking for exclusive tutorials, I post a new course each month, available for premium members only. Join the community to get access to all of them right now!
Overwhelmed with Linux commands?
My e-book, “Master Linux Commands”, is your essential guide to mastering the terminal. Get practical tips, real-world examples, and a bonus cheat sheet to keep by your side.
Grab your copy now.
If you just want to hang out with me and other Linux fans, you can also join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.
More details here.
Need help building something with Python?
Python is a great language to get started with programming on any Linux computer.
Learn the essentials, step-by-step, without losing time understanding useless concepts.
Get the e-book now.