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+eban-exemptions and+Iinvite-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.