The FTP Reply Codes Reference is a searchable lookup for the three-digit
reply codes an FTP server returns on its control connection. Whether you are
reading a client log, scripting an automated transfer, or debugging a stuck
passive-mode connection, this tool decodes any code from 110 to 553 with its
category and a plain-English description.
How it works
FTP, defined in RFC 959, answers every command with a three-digit code whose digits each carry meaning:
First digit — completion status
1yz Positive preliminary (action started, expect another reply)
2yz Positive completion (action succeeded)
3yz Positive intermediate (need more input, e.g. PASS after USER)
4yz Transient negative (temporary failure, retry later)
5yz Permanent negative (hard failure, do not retry)
Second digit — functional group
x0z Syntax x1z Information x2z Connections
x3z Auth/account x5z File system
So 530 is a permanent (5) authentication (3) failure, while 227 is a
successful (2) connection (2) reply. The tool keeps the full table in your
browser and filters by number, text or message.
Example and tips
A typical download walks 220 (greeting) → 331 (need password) → 230
(logged in) → 227 (passive mode) → 150 (opening data connection) → 226
(transfer complete). When a transfer hangs after 227 or 150, the data
connection — not the login — is the problem: check NAT, firewall and whether
the client should prefer EPSV (229) over classic PASV (227). Treat 4xx
codes as worth retrying and 5xx codes as final.