Downloading files from a server and uploading them to one might not be something that you need to do as an everyday occurrence. But when you do need to accomplish this task, the ideal application needs to be easy to use, yet powerful enough to be all the software you are likely to need. FileZilla has been around for a long time, accomplishing its FTP (File Transfer Protocol) efficiently for years. As well as versions for Windows there are versions for MacOS and Linux.
Flexible free version: There are two versions of FileZilla for Windows. The free version lacks all the supported protocols offered by the paid version, but it is likely to be good enough for many users. It handles standard FTP, FTP over TLS and SFTP (Secure File Transfer Protocol). Those latter two protocols incorporate a measure of encryption, useful for those who want to add some security to their data transfers.
Pro version adds more clients: For those who need a bit more oopmph from the FTP style activities a Pro version adds in protocol support for Amazon S3, Backblaze B3, Dropbox, Microsoft OneDrive, Google Drive, Google Cloud Storage, Microsoft Azure Blob and File Storage, WebDAV and OpenStack Swift. To get all these features the Pro version costs $13.99.
Server version also available: for those who want to make files available to others there is also a server version of FileZilla available, though only for Windows.
Complex features in an easy user interface: The user interface might look a little dated with its small icons sitting underneath the menu bar, and it might apear a little complex with its multiple windows. But it puts everything you need at your fingertips, and all the panes have a function.
Rather like having two Windows Explorer windows opened at the same time, FileZilla shows you the local and the destination folders at the same time. So if you are sending files to a remote location you can see them in the local file directory and watch as they arrive remotely, and if you are getting files from a remote location you can see the remote files and watch as they arrive locally. Meanwhile a wide pane at the bottom of the screen shows the entire job list queued and waiting to be executed, with a bar indicating progress for each item as it is in transfer, and tabs that can break the complete list down into successful or failed transfers. The various panes can be toggled off if you'd rather not see them.
Site manager: If you use several different FTP sites, then the site manager is the place to store all the necessary login details. They can even be copied here using an option in the File menu once you've set up a connection manually. Once an FTP site is in the site manager, a simple click on its Connect button gets you to the site.
Quickconnect: The Quickconnect bar is ready as soon as you open FileZilla for you to enter the host site, user name, password and a port and then just hit the Quickconnect button. Better still, this bar will remember its history, so you can quick connect to previous sites. The security conscious can clear their Quickconnect history on the bar itself.
Speed limits: Those with a limited bandwidth internet connection may like the ability to set a speed limit for uploads -- so that file transfer does not interfere with other demands on bandwidth.
Complex for beginners: FileZilla might look rather complex for beginners -- and the user interface is a little "old school. Also, some of the language around FTP is a little dense and FileZilla doesn't offer much by way of definition or explanation. But there is a helpful wiki tutorial, and plenty of online help to decipher the technicalities of FTP.
Extra downloads: When you install FileZilla you will be offered some additional downloads. You can opt out of these if you want -- just take care when you are running through the install process to read all the options so you make the choices you really want to.
FileZilla is a comprehensive free FTP application that looks complex but is in fact quite easy to use, and there's a helpful wiki tutorial. Newcomers to FTP may find there is quite a bit of jargon involved, but unfortunately you'll have to learn the jargon whatever FTP application you opt for.