There are lots of FTP servers available, but many of them are only usable at a cost. Below is a list of the best freeware FTP server programs that run on Windows, macOS, and Linux. You can download and use them to share files as often as you like without paying a dime. You can choose which ports the program should listen on, how many users can be connected to your server at once, the number of CPU threads the server can use, and timeout settings for connections, transfers, and logins. Some security features include auto-banning an IP address if it fails to login successfully after so many attempts, an option to enable FTP over TLS with the ability to disallow unencrypted FTP, and IP filtering so that you can prevent certain IP addresses or IP address ranges from connecting to your FTP server. It’s also effortless to take your server offline or quickly lock the FTP server with one click to ensure that no new connections to your server can be made until you unlock it. You also have full access to the creation of users and groups with FileZilla Server, which means you can throttle bandwidth for some users and not others and provide select users with permissions like read/write, but others with only read access. After you create a virtual server, double-click it to open its settings, where you can modify the server port and IP address, enable security features, control bandwidth usage for the server, define how many users can be on your server, and set an explicit maximum login count from the same IP address. An interesting feature in Xlight is that you can set the maximum idle time for users to get kicked out if they aren’t communicating with the server. The Xlight FTP Server can use SSL and can require clients to use a certificate. It also supports ODBC, Active Directory, and LDAP authentication. Xlight is free for personal use only and works with Windows, both 32-bit and 64-bit versions. You can download this FTP server as a portable program so that it doesn’t need to be installed, or you can install it on your computer like a regular application. This program has a full graphical user interface and is easy to use. The interface is pretty bare, and the settings are hidden in the side menu and are simple to access. Step-by-step guides are built into the CompleteFTP install, so you can select Step-by-step guides at the top of the program at any time to learn how to use the different features and options. This program installs as a trial of the professional edition. See the instructions on the download page to learn how to activate the free edition of CompleteFTP (all the features above are in the free version). One is a minimal server that’s simple to understand and easy to set up in about a minute. It’s 100 percent portable and has you choose a username, password, port, and root path. There are a few other settings as well if you want to configure them. The other version of Core FTP Server is the full-fledged server. You can define the domain name, have it auto-start as a service, add multiple user accounts with detailed access permissions and restrictions, designate access rules, and more. Both versions of this FTP server come as 32-bit and 64-bit versions for Windows.  vsftpd lets you create users, throttle bandwidth, and encrypt connections over SSL. It also supports per-user configurations, per-source IP limits, per-source IP address configurations, and IPv6. Refer to the vsftpd manual if you need help using this server. The only catch is that after installing ProFTPD, you must also install the gadmin GUI tool and connect it to the server. Here are some features you get with ProFTPD: IPv6 support, module support, logging, hidden directories, and files, which can be used as a standalone server, and per-directory configurations. ProFTPD works with macOS, FreeBSD, Linux, Solaris, Cygwin, IRIX, OpenBSD, and other platforms. The only downfall with this program is that you must make any settings adjustments through the RebexTinySftpServer.exe.config text file. This CONFIG file is how you change the username and password, set the root directory, change the FTP port, have the server start when an application is started, and adjust security settings. After extracting the ZIP file’s contents, use the RebexTinySftpServer.exe file to open the program.