A '''protocol for file transfer''' or '''file transfer protocol''' is a convention or standard that controls or enables the transfer of [[computer file|file]]s between two computing endpoints. Unlike with a general-purpose [[Protocol (computing)|communication protocol]], file transfer protocols are not designed to send arbitrary data or facilitate [[asynchronous communication]] such as [[Telnet]] sessions. They are meant solely to send the stream of [[bit]]s stored as a single unit in a [[file system]], plus any relevant [[metadata]] such as the [[filename]], file size, and [[timestamp]].
File transfer protocols usually operate on top of a lower-level protocol in a [[protocol stack]]. For example, the [[File Transfer Protocol|Internet FTP]] protocol operates as the topmost layer of the [[TCP/IP stack]], whereas [[XMODEM]], [[YMODEM]], and [[ZMODEM]] typically operate across [[RS-232]] serial connections to [[modem]]s.