Skip to main content

IRC Commands

Complete Reference & Cheat Sheet

Quick Reference

The 10 most essential IRC commands every user should know. Master these and you can navigate any IRC network.

Top 10 essential IRC commands with descriptions and examples
Command Description
/join #channel Join a channel
/part #channel Leave a channel
/msg nick message Send a private message
/nick newnick Change your nickname
/whois nick Get info about a user
/quit message Disconnect from IRC
/me action Perform an action
/topic #channel text Set channel topic
/kick #channel nick Kick a user (ops only)
/mode #channel +o nick Give operator status

Basic Commands

These fundamental commands handle everyday IRC communication. Every IRC user should be comfortable with these.

/join Join a channel
terminal
> /join #twisted -- Join the #twisted channel
> /join #secret secretkey -- Join a password-protected channel
> /join #channel1,#channel2 -- Join multiple channels at once

Joins the specified channel. If the channel does not exist, it will be created and you will be given operator status. You can join multiple channels separated by commas. If the channel has a key (password), provide it after the channel name.

/part Leave a channel
terminal
> /part #twisted -- Leave #twisted silently
> /part #twisted Later everyone! -- Leave with a message

Leaves the specified channel. You can optionally include a part message that other users in the channel will see when you leave. If no channel is specified, some clients will leave the current active channel.

/quit Disconnect from IRC
terminal
> /quit -- Disconnect with default message
> /quit Goodnight, cyberspace. -- Disconnect with custom message

Disconnects you from the IRC server entirely. Your quit message will be displayed to all users in channels you were in. If no message is provided, your client may use a default quit message.

/msg Send a private message
terminal
> /msg Alice Hey, how's it going? -- Private message to Alice
> /msg NickServ IDENTIFY mypassword -- Message a service

Sends a private message to the specified user or service. Only the recipient will see the message. This is also the command used to interact with IRC services like NickServ and ChanServ.

/notice Send a notice
terminal
> /notice Alice Check out #help for assistance
> /notice #twisted Server maintenance at midnight

Similar to /msg, but sends a notice instead. Notices are typically displayed differently by clients (often in a status window rather than opening a new chat tab). By convention, bots and services use notices for replies to avoid creating message loops.

/nick Change your nickname
terminal
> /nick CyberPunk -- Change nick to CyberPunk
> /nick MyNick_away -- Common convention for away status

Changes your current nickname. The new nickname must not already be in use on the network. Nicknames are typically limited to 30 characters and can contain letters, numbers, hyphens, underscores, and brackets. All users in your channels will see the nick change.

/me Perform an action
terminal
> /me waves to everyone -- Displays: * YourNick waves to everyone
> /me is hacking the mainframe -- Displays: * YourNick is hacking the mainframe

Sends an action message to the current channel. Instead of appearing as a regular chat message, it displays as an action. For example, if your nick is "Neo", typing "/me dodges bullets" would display as "* Neo dodges bullets" in the channel.

/away Set away status
terminal
> /away Gone to grab coffee -- Mark yourself as away
> /away -- Remove away status (you're back)

Marks you as "away" with an optional message. When someone tries to /msg you or /whois you, they will see your away message. To remove the away status and mark yourself as available again, use /away with no arguments. Some clients also support the /back command as a shortcut.

/whois Get information about a user
terminal
> /whois Alice -- Get info about Alice
> /whois Alice Alice -- Double whois shows idle time

Displays information about a user including their hostname (or cloak), the channels they are in, their real name, the server they are connected to, and whether they are away. Using a "double WHOIS" (specifying the nick twice) also shows the user's idle time and signon time.

/who List users matching a pattern
terminal
> /who #twisted -- List all users in #twisted
> /who *.twistednet.org -- List users on a specific server

Returns a list of users matching the specified pattern. When used with a channel name, it lists all users currently in that channel along with their hostnames and status flags. Useful for seeing who is in a channel or finding users on the network.

/list List available channels
terminal
> /list -- List all public channels
> /list -min 5 -- Channels with 5+ users (client-dependent)

Displays a list of all public channels on the network along with their user counts and topics. On large networks, this list can be very long. Many clients offer filtering options to narrow down the results. Secret (+s) channels will not appear in the list.

Channel Management Commands

Commands for channel operators to manage their channels. These require operator (@) or higher status in the channel.

/topic View or set channel topic
terminal
> /topic #twisted -- View the current topic
> /topic #twisted Welcome to TwistedNET! | Rules: Be cool.

Without arguments, displays the current topic for the channel. With a message, sets the channel topic. If the channel has mode +t set, only operators can change the topic. The pipe character (|) is commonly used as a separator in topics.

/kick Remove a user from a channel
terminal
> /kick #twisted troll -- Kick user 'troll' from #twisted
> /kick #twisted troll No spamming allowed! -- Kick with reason

Removes the specified user from the channel. Requires channel operator status. The kicked user can rejoin unless they are also banned. An optional reason message can be included that will be displayed to the channel when the user is kicked.

/mode +b Ban a user from a channel
terminal
> /mode #twisted +b troll!*@* -- Ban by nickname
> /mode #twisted +b *!*@evil.host.com -- Ban by hostname
> /mode #twisted -b troll!*@* -- Remove a ban
> /mode #twisted +b -- List all bans

Bans a user from joining or speaking in the channel. Bans use hostmasks in the format nick!user@host, with wildcards (*) for pattern matching. Note that banning does not kick the user; you typically want to kick them as well. Use -b to remove a ban, or +b with no argument to list current bans.

/invite Invite a user to a channel
terminal
> /invite Alice #secret -- Invite Alice to #secret

Sends an invitation to the specified user to join a channel. This is required for invite-only (+i) channels. The invited user will receive a notification and can then join the channel. On most networks, only channel operators can send invites to +i channels.

/mode Set channel or user modes
terminal
> /mode #twisted +o Alice -- Give Alice operator status
> /mode #twisted -o Alice -- Remove Alice's operator status
> /mode #twisted +v Bob -- Give Bob voice (can talk in +m channels)
> /mode #twisted +i -- Make channel invite-only
> /mode #twisted +m -- Moderated: only voiced/ops can talk
> /mode #twisted +k secretpass -- Set channel password
> /mode #twisted +l 50 -- Limit channel to 50 users
> /mode #twisted +s -- Secret: hidden from /list
> /mode #twisted +nt -- No external msgs + topic lock

The /mode command is used to set and unset various channel and user modes. Use + to enable a mode and - to disable it. Multiple modes can be combined in a single command.

IRC channel modes reference with mode flags, names, and descriptions
Mode Name Description
+oOperatorGives/removes channel operator status (@)
+vVoiceGives/removes voice status (+), can speak in +m channels
+bBanBans a hostmask from joining or speaking
+iInvite OnlyOnly invited users can join the channel
+mModeratedOnly voiced (+v) and operators can send messages
+kKeyRequires a password to join the channel
+lLimitSets a maximum number of users in the channel
+nNo ExternalPrevents messages from users not in the channel
+tTopic LockOnly operators can change the channel topic
+sSecretChannel is hidden from /list and /whois

NickServ Commands

NickServ manages nickname registration and identification. All NickServ commands use the syntax: /msg NickServ COMMAND arguments

REGISTER Register your nickname
NickServ
> /msg NickServ REGISTER mypassword [email protected]

Registers your current nickname with NickServ. You must provide a password and a valid email address. The email is used for password recovery and verification. Once registered, your nickname is protected and other users cannot use it while you are identified.

IDENTIFY Identify to your registered nickname
NickServ
> /msg NickServ IDENTIFY mypassword
> /msg NickServ IDENTIFY mynick mypassword -- Identify to a specific nick

Identifies you as the owner of your registered nickname. You should do this every time you connect to the network. Most IRC clients can be configured to automatically identify on connection using a "perform on connect" script or SASL authentication.

SET PASSWORD Change your password
NickServ
> /msg NickServ SET PASSWORD newpassword

Changes the password for your registered nickname. You must be identified to use this command. Choose a strong password that you do not use on other services.

SET EMAIL Change your registered email
NickServ
> /msg NickServ SET EMAIL [email protected]

Updates the email address associated with your registered nickname. Used for password recovery and important notifications from the network.

INFO View registration info for a nickname
NickServ
> /msg NickServ INFO Alice -- View Alice's registration info
> /msg NickServ INFO -- View your own info

Displays registration information for a nickname, including when it was registered, when it was last seen, and any metadata the owner has set. Some details may be hidden depending on the user's privacy settings.

GHOST Disconnect a stale session using your nick
NickServ
> /msg NickServ GHOST mynick mypassword

Disconnects an old or "ghost" session that is still using your registered nickname. This is useful when you get disconnected and your old session has not timed out yet, preventing you from using your nick. After ghosting, you can then change to your preferred nick with /nick.

GROUP Group a nickname to your account
NickServ
> /nick MyAltNick -- First switch to the alt nick
> /msg NickServ GROUP -- Group it to your account

Links an additional nickname to your primary registered account. You must be identified to your main account first, then switch to the new nickname and use GROUP to link it. This lets you own multiple nicknames under one account with shared settings and access privileges.

DROP Unregister a nickname
NickServ
> /msg NickServ DROP mynick -- Drop a grouped nick
> /msg NickServ DROP -- Drop your current nick

Unregisters a nickname, making it available for anyone to use. If the nickname is grouped to your account, it will be unlinked. Use this with caution, as the action cannot be undone. You will need to re-register the nickname if you want it back.

ChanServ Commands

ChanServ manages channel registration and persistent settings. All ChanServ commands use the syntax: /msg ChanServ COMMAND #channel arguments

REGISTER Register a channel
ChanServ
> /msg ChanServ REGISTER #mychannel

Registers a channel with ChanServ. You must be in the channel and have operator status. Your registered NickServ account becomes the channel founder, giving you full control over the channel settings and access list. Registration prevents the channel from being taken over and preserves settings across network restarts.

SET Configure channel settings
ChanServ
> /msg ChanServ SET #twisted DESCRIPTION A community channel
> /msg ChanServ SET #twisted GUARD ON -- ChanServ stays in channel
> /msg ChanServ SET #twisted KEEPTOPIC ON -- Preserve topic on restart
> /msg ChanServ SET #twisted URL https://twistednet.org

Configures various persistent settings for your registered channel. Common settings include GUARD (keeps ChanServ present in the channel), KEEPTOPIC (preserves the topic across restarts), DESCRIPTION (sets a channel description), and URL (sets a channel URL). Available settings vary by network.

ACCESS Manage channel access list
ChanServ
> /msg ChanServ ACCESS #twisted ADD Alice OP -- Give Alice auto-op
> /msg ChanServ ACCESS #twisted ADD Bob VOICE -- Give Bob auto-voice
> /msg ChanServ ACCESS #twisted DEL Alice -- Remove Alice's access
> /msg ChanServ ACCESS #twisted LIST -- View access list

Manages the channel access list, which controls who gets automatic privileges when they join. You can grant users roles like VOICE (auto-voice), OP (auto-op), or higher levels. Users must be registered with NickServ and identified to receive their automatic privileges.

OP / DEOP Give or remove operator status via ChanServ
ChanServ
> /msg ChanServ OP #twisted Alice -- Op Alice
> /msg ChanServ DEOP #twisted Alice -- Deop Alice
> /msg ChanServ OP #twisted -- Op yourself

Grants or removes channel operator status through ChanServ. This is useful when you need ops but do not have them (for example, if you just joined and auto-op is not configured). You must have sufficient access on the channel's access list to use these commands.

KICK / BAN Kick or ban users via ChanServ
ChanServ
> /msg ChanServ KICK #twisted troll Bye!
> /msg ChanServ BAN #twisted troll -- Ban a user
> /msg ChanServ UNBAN #twisted troll -- Remove a ban

Kicks or bans users through ChanServ without needing to be opped in the channel yourself. ChanServ will perform the action on your behalf if you have sufficient access. This is convenient when you want to moderate without visibly being an operator.

TOPIC Set channel topic via ChanServ
ChanServ
> /msg ChanServ TOPIC #twisted Welcome to TwistedNET!

Sets the channel topic through ChanServ. The topic will be set even if the channel has mode +t and you are not currently opped. Requires appropriate access on the channel's access list.

INFO View channel registration info
ChanServ
> /msg ChanServ INFO #twisted

Displays registration information for a channel, including the founder, registration date, description, URL, and current settings. Useful for checking who owns a channel and how it is configured.

Advanced Commands

Power-user commands for those who want to dig deeper into the IRC protocol.

/ctcp Client-to-client protocol
terminal
> /ctcp Alice VERSION -- Query Alice's IRC client version
> /ctcp Alice PING -- Measure latency to Alice
> /ctcp Alice TIME -- Query Alice's local time

CTCP (Client-to-Client Protocol) allows you to send special queries to other users. Common CTCP queries include VERSION (what client they are using), PING (measure round-trip latency), and TIME (their local time). The remote client responds automatically. Some users disable CTCP responses for privacy.

/dcc Direct client-to-client connections
terminal
> /dcc send Alice file.txt -- Send a file to Alice
> /dcc chat Alice -- Open a direct chat with Alice

DCC (Direct Client-to-Client) establishes a direct connection between two users, bypassing the IRC server. DCC SEND transfers files directly, while DCC CHAT creates a private chat that does not go through the server. Note that DCC requires direct network connectivity and may not work behind certain firewalls or NAT configurations.

/oper Authenticate as an IRC operator
terminal
> /oper username password -- Authenticate as IRC operator

Authenticates you as an IRC operator (IRCop) on the server. This is only available to network administrators who have been given operator credentials in the server configuration. IRCops have network-wide powers including the ability to kill connections, set network bans (K-lines), and manage servers.

/wallops Send a message to all operators
terminal
> /wallops Server maintenance in 10 minutes

Sends a network-wide message to all users who have user mode +w (wallops) set. Typically used by IRC operators for network announcements. Regular users can set +w to receive wallops messages but cannot send them unless they are opered.

/server Connect to a different server
terminal
> /server irc.twistednet.org 6697 -- Connect to TwistedNET
> /server -ssl irc.twistednet.org 6697 -- With SSL (client-dependent)

Connects to a different IRC server. This will typically disconnect you from your current server. The exact syntax may vary between IRC clients. Some clients use /server for switching and offer a separate command for connecting to additional networks without disconnecting from the current one.

Tips & Tricks

1

Tab Completion

Press Tab after typing the first few letters of a nickname to auto-complete it. This works in most IRC clients and saves time, especially with long nicknames. It also prevents typos.

2

Ignore Annoying Users

Use /ignore nick to block messages from a user. This is a client-side setting that hides all messages from the specified user. Most clients also support ignoring by hostmask for more precise filtering.

3

Auto-Identify on Connect

Configure your client to automatically identify with NickServ when you connect. Most clients have a "perform on connect" setting where you can add /msg NickServ IDENTIFY password. Even better, use SASL authentication for seamless login.

4

Always Use SSL

Always connect using SSL/TLS on port 6697. This encrypts your connection between your client and the server, preventing eavesdropping on your messages and protecting your login credentials from being intercepted.

5

Use a Bouncer for Persistence

Set up an IRC bouncer like ZNC to stay connected 24/7 and keep message history. When you disconnect, the bouncer stays online and records messages. When you reconnect, you see everything you missed. TwistedNET also offers The Lounge as a persistent web client.

6

Enable User Mode +x

Use /mode yournick +x to enable hostname cloaking (if supported). This replaces your real hostname with a cloaked version in /whois queries, adding an extra layer of privacy by hiding your IP address or ISP from other users.

Practice on TwistedNET

Put these commands to use! Connect to TwistedNET and start chatting. The best way to learn IRC is by doing it.