The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of s from a server to a client on a . FTP is built on a architecture using separate control and data connections between the client and the server. FTP users may authenticate themselves with a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS) or replaced with (SFTP).
The first FTP client applications were command-line programs developed before operating systems had graphical user interfaces, and are still shipped with most , , and operating systems. Many dedicated FTP and automation utilities have since been developed for , servers, mobile devices, and hardware, and FTP has been incorporated into productivity applications such as HTML editors and .
An FTP client used to be commonly integrated in , where file servers are browsed with the URI prefix "". Throughout 2021, the two major web browser vendors removed this ability. Support for the FTP protocol was first disabled in Google Chrome 88 in January 2021, followed by Firefox 88.0 in April 2021. In July 2021, Firefox 90 dropped FTP entirely, and Google followed suit in October 2021, removing FTP entirely in Google Chrome 95.
The original specification for the File Transfer Protocol was written by Abhay Bhushan and published as on 16 April 1971. Until 1980, FTP ran on NCP, the predecessor of TCP/IP. The protocol was later replaced by a TCP/IP version, (June 1980) and (October 1985), the current specification. Several proposed standards amend , for example (February 1994) enables Firewall-Friendly FTP (passive mode), (June 1997) proposes security extensions, (September 1998) adds support for IPv6 and defines a new type of passive mode.
FTP may run in active or passive mode, which determines how the data connection is established.