List of Internet Relay Chat commands

Wikimedia list article

This is a list of all Internet Relay Chat commands from IETF RFCs 1459 and 2812. Most IRC clients need commands to have a slash ("/") before the command. Angle brackets ("<" and ">") mean what's placed in the secondary field, not a literal part of the command. Settings encapsulated in square brackets ("[" and "]") are optional and override the command's defaults.

User commands

Command Syntax Function Defined
ADMIN ADMIN [<server>] Asks the server for information about the administrator of the server <target>,If target is not used, the current server is used.[1] RFC 1459
AWAY AWAY [<message>] GIves the server a message to send in reply to a PRIVMSG to the user.[2] Removes away status if <message> is not used. RFC 1459
CONNECT CONNECT <target server> [<port> [<remote server>]] (RFC 1459)

CONNECT <target server> <port> [<remote server>] ( RFC 2812)

Tells the server <remote server> (or the current server, if <remote server> is not used) to connect to <target server> on port <port>.[3][4] This command can normally only be used by IRC Operators. RFC 1459[a]
DIE DIE Tells the server to shut down.[5] RFC 2812
ERROR ERROR <error message> Use by servers to report errors to other servers. It is also used before ending client connections.[6] RFC 1459
INFO INFO [<target>] Gives information about the <target> server, or the current server if <target> is not used[7] The Information given includes the server's version, when it was compiled, the patch level, when it was started, and any other information which may be relevant. RFC 1459
INVITE INVITE <nickname> <channel> Invites <nickname> to the channel <channel>.[8] <channel> does not have to exist. If it does, only members of the channel can invite other clients. If the channel mode i is set, only channel operators may invite other clients. RFC 1459
ISON ISON <nicknames> Asks the server to see if the clients in the list <nicknames> are on the network.[9] The server returns the nicknames that are on the network. If none of the clients are on the network the server returns an empty list. RFC 1459
JOIN JOIN <channels> [<keys>] Makes the client join the channels in the list <channels> Passwords can be used in the list <keys>.[10] If the channel(s) do not exist, they will be created. RFC 1459
KICK KICK <channel> <client> [<message>] Removes <client> from <channel>.[11] This command may only be issued by channel operators. RFC 1459
KILL KILL <client> <comment> Removes <client> from the network.[12] This command may only be used by IRC operators. RFC 1459
Other website LINKS [<remote server> [<server mask>]] Lists all server links matching <server mask> on <remote server>, or the current server if <remote server> is not used.[13] RFC 1459
LIST LIST [<channels> [<server>]] Lists all channels on the server.[14] If the list <channels> is given, it will return the channel topics. If <server> is given, the command will be sent to <server> for evaluation. RFC 1459
LUSERS LUSERS [<mask> [<server>]] Returns statistics about the size of the network.[15] If used with no arguments, the statistics will be about the entire network. If <mask> is given, it will return only statistics about the masked subset of the network. If <target> is given, the command will be sent to <server> for evaluation. RFC 2812
MODE MODE <nickname> <flags> (user)
MODE <channel> <flags> [<args>]
The MODE command is has two uses. It can be used to set both user and channel modes.[16] RFC 1459
MOTD MOTD [<server>] Returns the message of the day on <server> or the current server if it is not stated.[17] RFC 2812
NAMES NAMES [<channels>] (RFC 1459)
NAMES [<channels> [<server>]] ( RFC 2812)
Returns a list of who is on the list of <channels>, by channel name.[18] If <channels> is not used, all users are shown,. They are grouped by channel name with all users who are not on a channel being shown as part of channel "*". If <server> is specified, the command is sent to <server> for evaluation.[19] RFC 1459[b]
NICK NICK <nickname> [<hopcount>] (RFC 1459)

NICK <nickname> ( RFC 2812)

Allows a client to change their IRC nickname. Hopcount is for use between servers to say how far away a nickname is from its home server.[20][21] RFC 1459[c]
NOTICE NOTICE <msgtarget> <message> Similar to PRIVMSG, but automatic replies are never sent in reply to NOTICE messages.[22] RFC 1459
OPER OPER <username> <password> Identifies a user as an IRC operator on that server/network.[23] RFC 1459
PART PART <channels> Causes a user to leave the channels in the list <channels>.[24] RFC 1459
PASS PASS <password> Sets a connection password.[25] This command must be sent before the NICK/USER registration combination. RFC 1459
PING PING <server1> [<server2>] Tests a connection.[26] A PING message results in a PONG reply. If <server2> is given, the message is sent to it. RFC 1459
PONG PONG <server2> [<server2>] This command is a reply to the PING command. It works in much the same way.[27] RFC 1459
PRIVMSG PRIVMSG <msgtarget> <message> Sends <message> to <msgtarget>. The target is usually a user or channel.[28] RFC 1459
QUIT QUIT [<message>] Disconnects the user from the server.[29] RFC 1459
REHASH REHASH Causes the server to re-read and re-process its configuration file(s).[30] This command can only be sent by IRC Operators. RFC 1459
RESTART RESTART Restarts a server.[31] It may only be sent by IRC Operators. RFC 1459
SERVICE SERVICE <nickname> <reserved> <distribution> <type> <reserved> <info> Registers a new service on the network.[32] RFC 2812
SERVLIST SERVLIST [<mask> [<type>]] Lists the services currently on the network.[33] RFC 2812
SERVER SERVER <servername> <hopcount> <info> Used to tell a server that the other end of a new connection is a server.[34] This message is also used to send server data over whole network. <hopcount> says how many hops (server connections) away <servername> is.<info> has information about the server. RFC 1459
SQUERY SQUERY <servicename> <text> Same as PRIVMSG except it must be sent to a service.[35] RFC 2812
SQUIT SQUIT <server> <comment> Causes <server> to quit the network.[36] RFC 1459
STATS STATS <query> [<server>] Returns statistics about the current server, or <server> if it is given.[37] RFC 1459
SUMMON SUMMON <user> [<server>] (RFC 1459

SUMMON <user> [<server> [<channel>]] ( RFC 2812)

Sends a message to users on the same host as <server> asking them to join IRC.[38][39] RFC 1459[d]
TIME TIME [<server>] Gives the local time on the current server, or <server> if specified.[40] RFC 1459
TOPIC TOPIC <channel> [<topic>] Used to get the channel topic on <channel>.[41] If <topic> is given, it sets the channel topic to <topic>. If channel mode +t is set, only a channel operator may set the topic. RFC 1459
TRACE TRACE [<target>] Trace a path across the IRC network to a specific server or client, in a similar method to traceroute.[42] RFC 1459
USER USER <username> <hostname> <servername> <realname> (RFC 1459)

USER <user> <mode> <unused> <realname> ( RFC 2812)

This command is used at the beginning of a connection to specify the username, hostname, real name and initial user modes of the connecting client.[43][44] <realname> may contain spaces, and thus must be prefixed with a colon. RFC 1459
RFC 2812
USERHOST USERHOST <nickname> [<nickname> <nickname> ...] Returns a list of information about the nicknames specified.[45] RFC 1459
USERS USERS [<server>] Returns a list of users and information about those users in a format similar to the UNIX commands who, rusers and finger.[46] RFC 1459
VERSION VERSION [<server>] Returns the version of <server>, or the current server if omitted.[47] RFC 1459
WALLOPS WALLOPS <message> Sends <message> to all operators connected to the server (RFC 1459), or all users with user mode 'w' set ( RFC 2812).[48][49] RFC 1459
WHO WHO [<name> ["o"]] Returns a list of users who match <name>.[50] If the flag "o" is given, the server will only return information about IRC Operators. RFC 1459
WHOIS WHOIS [<server>] <nicknames> Returns information about the comma-separated list of nicknames masks <nicknames>.[51] If <server> is given, the command is forwarded to it for processing. RFC 1459
WHOWAS WHOWAS <nickname> [<count> [<server>]] Returns information about a nickname that is no longer in use (due to client disconnection, or nickname changes).[52] If given, the server will return information from the last <count> times the nickname has been used. If <server> is given, the command is forwarded to it for processing. In RFC 2812, <nickname> can be a comma-separated list of nicknames.[53] RFC 1459
  1. the <port> parameter became mandatory in RFC 2812
  2. the optional <server> parameter was added in RFC 2812
  3. the optional <hopcount> parameter was removed in RFC 2812
  4. the optional <channel> parameter was added in RFC 2812


  1. "Admin command". IRC Protocol. p. 31. sec. 4.3.7. doi:10.17487/RFC1459. RFC 1459.
  2. "Away". IRC Protocol. pp. 38– 39. sec. 5.1. doi:10.17487/RFC1459. RFC 1459.
  3. "Connect message". IRC Protocol. pp. 29– 30. sec. 4.3.5. doi:10.17487/RFC1459. RFC 1459.
  4. "Connect message". IRC Protocol. pp. 28– 29. sec. 3.4.7. doi:10.17487/RFC2812. RFC 2812.
  5. "Die message". IRC Protocol. p. 39. sec. 4.3. doi:10.17487/RFC2812. RFC 2812.
  6. "Error". IRC Protocol. p. 38. sec. 4.6.4. doi:10.17487/RFC1459. RFC 1459.
  7. "Info command". IRC Protocol. pp. 31– 32. sec. 4.3.8. doi:10.17487/RFC1459. RFC 1459.
  8. "Invite message". IRC Protocol. p. 25. sec. 4.2.7. doi:10.17487/RFC1459. RFC 1459.
  9. "Ison message". IRC Protocol. p. 42. sec. 5.8. doi:10.17487/RFC1459. RFC 1459.
  10. "Join message". IRC Protocol. pp. 19– 20. sec. 4.2.1. doi:10.17487/RFC1459. RFC 1459.
  11. "Kick command". IRC Protocol. pp. 25– 26. sec. 4.2.8. doi:10.17487/RFC1459. RFC 1459.
  12. "Kill message". IRC Protocol. p. 36. sec. 4.6.1. doi:10.17487/RFC1459. RFC 1459.
  13. "Links message". IRC Protocol. pp. 28– 29. sec. 4.3.3. doi:10.17487/RFC1459. RFC 1459.
  14. "List message". IRC Protocol. pp. 24– 25. sec. 4.2.6. doi:10.17487/RFC1459. RFC 1459.
  15. "Lusers message". IRC Protocol. pp. 25– 26. sec. 3.4.2. doi:10.17487/RFC2812. RFC 2812.
  16. "Mode message". IRC Protocol. pp. 21– 23. sec. 4.2.3. doi:10.17487/RFC1459. RFC 1459.
  17. "Motd message". IRC Protocol. p. 25. sec. 3.4.1. doi:10.17487/RFC2812. RFC 2812.
  18. "Names message". IRC Protocol. p. 24. sec. 4.2.5. doi:10.17487/RFC1459. RFC 1459.
  19. "Names message". IRC Protocol. pp. 20– 21. sec. 3.2.5. doi:10.17487/RFC2812. RFC 2812.
  20. "Nick message". IRC Protocol. pp. 14– 15. sec. 4.1.2. doi:10.17487/RFC1459. RFC 1459.
  21. "Nick message". IRC Protocol. pp. 10– 11. sec. 3.1.2. doi:10.17487/RFC2812. RFC 2812.
  22. "Notice". IRC Protocol. p. 33. sec. 4.4.2. doi:10.17487/RFC1459. RFC 1459.
  23. "Oper". IRC Protocol. p. 17. sec. 4.1.5. doi:10.17487/RFC1459. RFC 1459.
  24. "Part message". IRC Protocol. pp. 20– 21. sec. 4.2.2. doi:10.17487/RFC1459. RFC 1459.
  25. "Password message". IRC Protocol. p. 14. sec. 4.1.1. doi:10.17487/RFC1459. RFC 1459.
  26. "Ping message". IRC Protocol. p. 37. sec. 4.6.2. doi:10.17487/RFC1459. RFC 1459.
  27. "Pong message". IRC Protocol. pp. 37– 38. sec. 4.6.3. doi:10.17487/RFC1459. RFC 1459.
  28. "Private messages". IRC Protocol. pp. 32– 33. sec. 4.4.1. doi:10.17487/RFC1459. RFC 1459.
  29. "Quit". IRC Protocol. pp. 17– 18. sec. 4.1.6. doi:10.17487/RFC1459. RFC 1459.
  30. "Rehash message". IRC Protocol. p. 39. sec. 5.2. doi:10.17487/RFC1459. RFC 1459.
  31. "Restart message". IRC Protocol. pp. 39– 40. sec. 5.3. doi:10.17487/RFC1459. RFC 1459.
  32. "Service message". IRC Protocol. pp. 13– 14. sec. 3.1.6. doi:10.17487/RFC2812. RFC 2812.
  33. "Servlist message". IRC Protocol. p. 31. sec. 3.5.1. doi:10.17487/RFC2812. RFC 2812.
  34. "Server message". IRC Protocol. pp. 16– 17. sec. 4.1.4. doi:10.17487/RFC1459. RFC 1459.
  35. "Squery". IRC Protocol. p. 32. sec. 3.5.2. doi:10.17487/RFC2812. RFC 2812.
  36. "Server quit message". IRC Protocol. pp. 18– 19. sec. 4.1.7. doi:10.17487/RFC1459. RFC 1459.
  37. "Stats message". IRC Protocol. pp. 27– 28. sec. 4.3.2. doi:10.17487/RFC1459. RFC 1459.
  38. "Summon message". IRC Protocol. p. 40. sec. 5.4. doi:10.17487/RFC1459. RFC 1459.
  39. "Summon message". IRC Protocol. p. 40. sec. 4.5. doi:10.17487/RFC2812. RFC 2812.
  40. "Time message". IRC Protocol. p. 29. sec. 4.3.4. doi:10.17487/RFC1459. RFC 1459.
  41. "Topic message". IRC Protocol. pp. 23– 24. sec. 4.2.4. doi:10.17487/RFC1459. RFC 1459.
  42. "Trace message". IRC Protocol. pp. 30– 31. sec. 4.3.6. doi:10.17487/RFC1459. RFC 1459.
  43. "User message". IRC Protocol. pp. 15– 16. sec. 4.1.3. doi:10.17487/RFC1459. RFC 1459.
  44. "User message". IRC Protocol. p. 11. sec. 3.1.3. doi:10.17487/RFC2812. RFC 2812.
  45. "Userhost message". IRC Protocol. p. 42. sec. 5.7. doi:10.17487/RFC1459. RFC 1459.
  46. "Users". IRC Protocol. pp. 40– 41. sec. 5.5. doi:10.17487/RFC1459. RFC 1459.
  47. "Version message". IRC Protocol. pp. 26– 27. sec. 4.3.1. doi:10.17487/RFC1459. RFC 1459.
  48. "Operwall message". IRC Protocol. p. 41. sec. 5.6. doi:10.17487/RFC1459. RFC 1459.
  49. "Operwall message". IRC Protocol. pp. 41– 42. sec. 4.7. doi:10.17487/RFC2812. RFC 2812.
  50. "Who query". IRC Protocol. pp. 33– 34. sec. 4.5.1. doi:10.17487/RFC1459. RFC 1459.
  51. "Whois query". IRC Protocol. pp. 34– 35. sec. 4.5.2. doi:10.17487/RFC1459. RFC 1459.
  52. "Whowas". IRC Protocol. p. 35. sec. 4.5.3. doi:10.17487/RFC1459. RFC 1459.
  53. "Whowas". IRC Protocol. p. 34. sec. 3.6.3. doi:10.17487/RFC2812. RFC 2812.



Further reading