Перша реалізація протоколу (1971) передбачала обмін між клієнтом і сервером повідомленнями, що складаються з заголовка (72 біт) і даних змінної довжини. Тема повідомлення включав в себе запит до FTP-сервера або відповідь від нього, тип і довжину переданих даних. В якості даних передавалися параметри запиту (наприклад, шлях і ім'я файлу), інформація від сервера (наприклад, список файлів у каталозі) і самі файли. Таким чином, команди і дані передавалися по одному і тому ж каналу.
У 1972 р протокол був повністю змінений, і прийняв вигляд, близький до сучасного. Команди з параметрами від клієнта і відповіді сервера передаються по TELNET -З'єднання (канал управління), для передачі даних створюється окреме з'єднання (канал даних).
У наступних редакціях була додана можливість роботи в пасивному режимі, передачі файлів між FTP-серверами, введені команди отримання інформації, зміни поточного каталогу, створення і видалення каталогів, збереження файлів під унікальним ім'ям. Деякий час існували команди для передачі електронної пошти через FTP, проте згодом вони були виключені з протоколу.
У 1980 р FTP-протокол став використовувати TCP . Остання редакція протоколу була випущена в 1985 р У 1997 р з'явилося доповнення до протоколу, що дозволяє шифрувати і підписувати інформацію в каналі управління і каналі даних. У 1999 р випущено додаток, присвячене інтернаціоналізації протоколу, яке рекомендує використовувати кодування UTF-8 для команд і відповідей сервера і визначає нову команду LANG, яка встановлює мову відповідей.