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