FTP Status Codes and their Causes

By Mark Castle on 4th March, 2011.

Codes and Causes

1xx – Positive Preliminary Reply

These status codes indicate that an action has started successfully, but the client expects another reply before it continues with a new command.

  • 110 Restart marker reply
  • 120 Service ready in minutes
  • 125 Data connection already open; transfer starting
  • 150 File status okay; about to open data connection

2xx – Positive Completion Reply

An action has 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
  • 212 Directory status
  • 213 File status
  • 214 Help message
  • 215 NAME system type, where NAME is an official system name from the list in the Assigned Numbers document
  • 220 Service ready for new user
  • 221 Service closing control connection. Logged out if appropriate
  • 225 Data connection open; no transfer in progress
  • 226 Closing data connection. Requested file action successful (for example, file transfer or file abort)
  • 227 Entering passive mode (h1,h2,h3,h4,p1,p2)
  • 230 User logged in, proceed
  • 250 Requested file action okay, completed
  • 257 “PATHNAME” created

3xx – Positive Intermediate Reply

The command was successful, but the server needs additional information from the client to complete processing the request.

  • 331 User name okay, need password
  • 332 Need account for login
  • 350 Requested file action pending further information

4xx – Transient Negative Completion Reply

The command was not successful, but the error is temporary. If the client retries the command, it may succeed.

  • 421 Service not available, closing control connection. This may be a reply to any command if the service knows it must shut down.
  • 425 Cannot open data connection
  • 426 Connection closed; transfer aborted
  • 450 Requested file action not taken. File unavailable (for example, file busy)
  • 451 Requested action aborted: Local error in processing
  • 452 Requested action not taken. Insufficient storage space in system

5xx – Permanent Negative Completion Reply

The command was not successful, and the error is permanent. If the client retries the command, it receives the same error.

  • 500 Syntax error, command unrecognized. This may include errors such as command line too long.
  • 501 Syntax error in parameters or arguments.
  • 502 Command not implemented.
  • 503 Bad sequence of commands.
  • 504 Command not implemented for that parameter.
  • 530 Not logged in.
  • 532 Need account for storing files.
  • 550 Requested action not taken. File unavailable (for example, file not found, no access).
  • 551 Requested action aborted: Page type unknown.
  • 552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset).
  • 553 Requested action not taken. File name not allowed.

Common FTP Status Codes and Their Causes

150 – FTP uses two ports: 21 for sending commands, and 20 for sending data. A status code of 150 indicates that the server is about to open a new connection on port 20 to send some data.

226 – The command opens a data connection on port 20 to perform an action, such as transferring a file. This action successfully completes, and the data connection is closed.

230 – This status code appears after the client sends the correct password. It indicates that the user has successfully logged on.

331 – You see this status code after the client sends a user name. This same status code appears regardless of whether the user name that is provided is a valid account on the system.

426 – The command opens a data connection to perform an action, but that action is canceled, and the data connection is closed.

530 – This status code indicates that the user cannot log on because the user name and password combination is not valid. If you use a user account to log on, you may have mistyped the user name or password, or you may have chosen to allow only Anonymous access. If you log on with the Anonymous account, you may have configured IIS to deny Anonymous access.

550 – The command is not executed because the specified file is not available. For example, this status code occurs when you try to GET a file that does not exist, or when you try to PUT a file in a directory for which you do not have Write access.

Mark Castle


Marks is a director at Secura hosting and one of our resident Network specialists.

Tweet me at:

Comments are closed.