ircbits.com

Docs / IRC channel modes explained

IRC channel modes explained

Updated June 4, 2026

Channel modes are IRC's moderation toolkit: single letters, set and unset with /mode, controlling who may join, who may speak, and how the channel behaves. /mode #channel alone shows the current modes.

The core set

These work nearly everywhere:

Mode Effect
+t only ops may change the topic
+n no external messages (must be inside to talk)
+m moderated: only ops and voiced users may speak
+i invite-only
+k <key> join requires a password
+l <n> user limit
+s secret: hidden from lists and whois
+p private (older, weaker cousin of +s)
+b <mask> ban list entry
+o <nick> grant operator status
+v <nick> grant voice

+t and +n are set automatically on most networks when a channel is created; their absence is usually a sign of a very old or deliberately open channel.

Three kinds of modes

It helps to know that modes come in flavors:

  • Flags (+t, +n, +m, +i, +s): on or off.
  • Parameterized (+k key, +l 50): carry one value.
  • Lists (+b, and on many networks +e ban-exemptions and +I invite-exemptions): hold multiple masks. View with /mode #channel +b.

Several can be set at once: /mode #channel +mk secret sets moderated plus a key in one line.

Bans and their relatives

Ban masks match nick!user@host with wildcards; banning *!*@host rather than a nickname is standard practice, since nicks are trivially changed. Two useful relatives on modern networks:

  • +q (quiet) on Libera.Chat and similar: the user may stay but cannot speak — a gentler ban.
  • +e (exempt): lets a specific mask through an overlapping ban.

Network-specific extras

Beyond the core, each IRCd adds its own letters, and this is where networks differ. Common examples: +r (only registered users may join — the one behind the "cannot join channel" error), +c (strip colors), +C (block CTCP), +f (forward joins to another channel on Libera), and flood-protection modes with per-IRCd syntax. When in doubt, the network's documentation lists its mode set — or ask in the help channel.

Practical ops survival kit

/mode #chan +m              emergency: silence everyone unvoiced
/mode #chan +v helper       let a helper speak
/mode #chan +b *!*@bad.host then /kick bad reason
/mode #chan -m              stand down

For the people-side of moderation — when to use any of this — see IRC etiquette; for persistent channel ownership, ChanServ in the commands cheat sheet.