Note:This Article is intended for:
- Normal users who need FTP clients, to upload files, & folders to servers through FTP/ SFTP/ FTPS
- Developers and Webmasters who require FTP clients and FTP file browsers
What is FTP client?!
FTP client is an application that uses FTP (File Transfer Protocol) to transfer files from local machine to remote servers and vice versa. FTP stands for File Transfer Protocol, which is a protocol for transferring files. FTP clients come with a set of features aiming to provide the end-user with an easy tool to transfer, & manage files.
There are many FTP clients out there, you can find closed-source proprietary software, and open source ones, We have been using open source ones since the early 2000s, and we found most many of them are features-rich, very similar to closed-source proprietary solutions.
What do we have here!
We have listed several enterprise-grade open source FTP clients, including clients which support multi-platforms (Windows, Linux, macOS), platform-specific clients, and web-based clients. The aim of this list is to provide a strongly recommended FTP clients that work.
How did we choose?
We base our recommendation on our daily use, We have used & tried +25 FTP clients for Linux, Windows, macOS, including desktop clients, web clients, Java-based cross-platform FTP clients, to compare and choose the best that worked for us.
FileZilla is an open source FTP client, that works for Windows, macOS, & Linux (Debian, Ubuntu, LinuxMint, Fedora,...). It is our top pick in this recommendation list, as we have used it over the years while we are shifting from a platform or a distro to another.
FileZilla is fairly easy to use, as it also comes with powerful features, to meet the demands of experienced and inexperienced users, normal users or advanced users with ninja coding skills.
FileZilla supports FTP, SFTP (SSH File Transfer Protocol), Stroj (Decentralized Cloud Storage). It also supports connection over proxy and Active/ Passive transfer modes.
Recommended for: Normal users, Experienced users, & Developers
WinSCP is an open source free SFTP client, FTP client, WebDAV client, S3 client and SCP client for Windows. Its main function is file transfer between a local and a remote computer. Beyond this, WinSCP offers scripting and basic file manager functionality.
Recommended for: Windows users with any level of experience.
Sprut is a web-based FTP client that comes with fancy UI, rich set of features that ease the file management, provide advanced search tools with the support of full-text search, and allows handling compressed & archived files.
Sprut comes with a dual-pane view, that displays remote and local servers together, allowing the user to compare, drag-drop files. It comes with tabbed user-interface that is useful when opening different projects at once.
Sprut is fancy but requires certain developer skills to install, with enough knowledge and basic experience with Docker. It requires at least 1.5GB disk space to build a usable production-ready install. It's built with Python.
Recommended for: Developers, Companies.
LFTP is a simple yet powerful command-line FTP client. It works on Linux, macOS. If you like command-line programs LFTP is for you. It has a very long list of features.
LFTP supports FTP, HTTP, with or without proxy. SFTP, BitTorrent protocol, Fish protocol, and SOCKS. It received update and bug fixes as the code is maintained by the core developer (Alexander V. Lukyanov).
Recommended for: Advanced users, and developers
FireFTP is a cross-platform Mozilla Firefox add-on (extension), that works for years for many developers who use multi-platforms in their daily life. It supports FTP/ SFTP, provides customizable dual-pane tab within Firefox, that access files on the desktop, with simple file drag and drops, it uploads files to the remote servers.
Unfortunately, Mozilla Firefox has dropped support for FireFTP among many other plugins & add-ons, However, Waterfox is a Mozilla Firefox-based browser that supports legacy plugins & extensions such as FireFTP, FireFTP provides seamless integration with Waterfox.
FireFTP developer has released another useful add-on: FireSSH which turns your browser into a powerful SSH client. It is currently not supported at Mozilla Firefox but works smoothly with Waterfox.
Recommended for: Experienced users & Developers.
FTPBox is an open source free FTP client. it's built to provide easy FTP-based file synchronization tool for normal users. It offers a desktop client for Windows and a Web-based client that allows the user to access his files from any computer anywhere.
FTPBox uses SFTP (SSH FTP) and FTPS (FTP over SSL) by default to provide security for file transfers.
FTPBox offers installable Windows packages that support many Windows versions starting from Windows XP, Vista, 7, 8, & 10. It also provides a portable version that can work from USB sticks. Currently, FTPBox does not provide Linux or macOS clients.
FTPBox is released as an open source program under GPL.
Recommended for: Windows users.
FileStash is a popular project among developers especially NodeJS & React developers, as it provides a powerful open source enterprise-aware web app. It got > 1400 stars and was forked more than 80 times.
Recommended for: Experienced users and Developers
BareFTP is an FTP desktop client for Linux, It has seamless integration with Gnome desktop environment. It comes with a long list of features that makes it preferred by some Linux users. Though BareFTP is built with C#/ Mono Framework, It uses the GTK library and targets Gnome desktops.
BareFTP is stable and usable FTP client, however, It is not actively developed or maintained as the core developer "Christian Eide" announced in the project's page. It didn't get updates since 2016.
Recommended for: Linux users (Gnome desktop)
Zelotypisti is a lightweight open source FTP client with web-based, graphical and text options, it's built with PHP. Despite its old style graphics, its functional drag-n-drop install the web app, that comes with < 100kb in a compressed file.
We would recommend it because we have used it several times, and it has proven to be useful in our work.
Recommended for: Web developers
Qusly is a new FTP client for Windows, macOS, & Linux Desktops, It's built with React/ NodeJS and uses Electron to built multi-platform packages. Qusly supports FTP, FTPS (FTP over SSL), & SFTP (SSH File Transfer Protocol).
Qusly is using a powerful FTP NodeJS library built by the same developer Qusly-Core, An API wrapper around ssh2 and FTP library for building FTP/FTPS/SFTP clients.
Qusly has very clean, beautiful UI (User-Interface), packed with tabbed windows that support multiple projects at once. It uses nice icons and desktop-alike file-browser. It supports drag/ drop.
Qusly is still in active development, It still lakes several features to compete like advanced settings, import/ export settings, automation, queue management, and better security features. Hopefully, the developer will enrich it with more features in the incoming releases.
Recommended for: Developers who would like to follow-up with active development
jFtp: Java Network Browser is an open source cross-platform lightweight program that works as FTP, SSH, SFTP, & SMB client. It's a lightweight program (< 5mb), It comes with 2 versions desktop version that requires Java, and web version that uses Java Web Start to run within the web browser, but it requires to add (http://j-ftp.sourceforge.net/) as an exception to allow the app to run.
jFtp has a dual-pane view, connection manager(s), bookmarks manager, custom views, WebDAV manager, & multi-tab support.
Not all FTP clients are equal, So we have provided our top recommendation of FTP clients we have used over the years on many platforms, but there are more if you use open source FTP clients and believe it worth to be shared, please drop us a hint @twitter.
You can add your link to this article by sponsoring it.
Here how to sponsor this post Sponsorship program
A physician with programming skills, Linux user since late 1990s, Open source supporter. Coding with Python, NodeJS (Meteor, VueJS, Express, D3, PhantomJS), SmallTalk & R language.