FTP Reply Codes
Here is an overview of the most important reply codes that will be displayed by the FTP Protocol. These triple-digit codes indicate a positive response, a successful operation, a positive interim response, provisional negative response or a permanent negative response, depending on the first digit. The following sections outline the reply codes you may encounter, sorted by starting digit. Many are self-explanatory.
1xx - Positive reply
The following reply codes indicate that the operation has been successfully started. However, the client is waiting for an additional response before proceeding.
- 110: Restart marker reply: marker to continue the transfer from where it left off.
- 120: Service ready in nnn minutes
- 125: Data connection already open; starting transfer
- 150: File status okay; about to open data connection
2xx - Successful operation
The following reply codes indicate that the operation has been successfully completed. The client can execute a new command.
- 200: Command okay
- 202: Command not implemented; superfluous at this site
- 211: System status, or system help reply: Response for system status or system help feature.
- 212 Directory status.
- 213: File status
- 214: Help message
- 215: NAME system type: name of the type of system, where NAME is the official system name shown in the "Assigned Numbers" document.
- 220: Service ready for new user
- 221: Service closing control connection. Logged out if appropriate: Service closing control connection. User is logged out by the system if appropriate.
- 225: Data connection open; no transfer in progress
- 227: Entering Passive Mode (h1,h2,h3,h4,p1,p2)
- 230: User logged in; proceed
- 250: Requested file operation okay; completed
- 257: "PATHNAME" created
3xx - Positive interim response
The following reply codes indicate that although the command was successfully executed, the server needs additional information from the client before it can complete the processing request.
- 331: User name okay, need password
- 332: Need account for login
- 350: Additional information needed for requested file operation
4xx - Provisional negative response
The following reply codes indicate that the command could not be executed; however, because the error message indicates a temporary problem, you may be able to successfully complete the operation if you retry.
- 421: Service unavailable, closing control connection
- 425: Can not open data connection
- 426: Connection closed, transfer aborted
- 450: Requested file operation not performed. File unavailable
- 451: Requested file operation aborted: local processing error
- 452: Requested file operation not performed. Insufficient system storage space
5xx - Permanent negative response
These reply codes indicate that the operation could not be completed. Since the nature of the error is permanent, you will get the same error message if you try the operation again.
- 500: Syntax error, command not recognized
- 501: Syntax error in parameters or arguments
- 502: Command not implemented
- 503: Bad command sequence
- 504: Command not implemented for specified parameter
- 530: Not logged in
- 532: Account required to store files
- 550: Requested file operation not performed. File unavailable
- 551: Requested file operation aborted: unknown page type
- 552: Requested file operation aborted. Storage allocation exceeded (for current directory or record)
- 553: Requested file operation not performed. Invalid file name
Frequent reply codes and possible causes
The following describes frequently occurring reply codes and possible causes:
- 150: An FTP connection uses two ports: 21 to send commands, and 22 to transfer data. This reply code indicates that the server has established a new connection to port 20 for data transfer.
- 230: This reply code indicates that a suitable password was sent and the user is successfully logged on.
- 331: This reply code is shown after a user name was sent. The same reply code always appears, regardless of whether the user name on the system is valid or not.
- 426: A data connection is being established in order to carry out an operation. However, the operation was terminated and the data connection disconnected.
- 530: This reply code indicates that the user cannot logon because the user name and/or password is not valid. Either the password for your user account was entered incorrectly, or the server is configured exclusively for anonymous access.
- 550: The command cannot be executed because the named file does not exist. Two examples of when this reply code appears are: when a file that does not exist on the system is requested using the GET command or you want to create a file in a directory using the PUT command, but you do not have the necessary write permission.