Short Answer is FTP is a protocol build on TCP. So FTP is a service whereas TCP is a transport protocol.
FTP stands for File Transfer Protocol. It is used to send/receive file from the remote computer. FTP establishes two connections between client system and server system, one for control information and the other for data to be transferred. Control information carries commands/response. Authentication need to be done initially by way of validating username and password. Once it is done files can be transferred between two systems. FTP handles both binary and text format files.
Whereas TCP is a transport layer protocol in the OSI layer and is used to create a connection between remote computers by transporting and ensuring the delivery of messages over supporting networks and the Internet.
How FTP Works
When a FTP client requests to connect to the FTP server, a TCP connection is being established to the FTP server’s port 21 reserved for FTP.After authentication is done, another TCP connection is being established for the actual data transfer on port number 20.