ERC is a powerful, modular, and extensible Emacs InternetRelayChat client.

It is part of the GNU project and included in Emacs.

Obtaining ERC

ERC is included in Emacs since v22.3 (released on September 2008).

For a brief history of the development of ERC and access to older versions, code repositories, and mailing list archives see ErcProjectHistory.

Some modules not included with GNU Emacs

See ErcExtraModules to find out how to get the few modules which were not able to be included with ERC in Emacs due to licensing and dependency issues.

Development version

See ErcDevelopment to find instructions on how to get the development version using git.

ERC also comes bundled with EmacsFromGit.

Note that ErcDevelopment and EmacsFromGit can contain two separate branches of ERC and are therefore not quite identical. The modules ErcBbdb and ErcSpeak are not available in the Emacs version, for example.

Ports and packages

Gentoo users can just emerge app-emacs/erc or app-xemacs/erc (for some reason portage has a hard time figuring out which). At present this is the latest release candidate.

User manual

An info manual is included with ERC. It’s also available on-line in several forms:

  1. HTML (single file):
  2. HTML (multiple files):



Setting up ERC to work right for you

The easiest way to configure ERC is to do M-x customize-group RET erc RET. This will open a buffer with all possible customizable settings organized in groups. Even if you want to add things to your Initfile manually, you might find some settings you didn’t know about by looking around.

General configuration

SSL configuration


Quick reference

Some features explained


To enable or disable modules use M-x customize-variable RET erc-modules.

Enabled by default

Disabled by default

Non-standard modules

The following modules are not enabled/disabled by changing the ‘erc-modules’ variable. You should be able to find documentation on how to set them up on their pages.

Other Goodies (not part of ERC)

Bots for ERC

Various commands

Change how ERC looks

Change how messages are shown



Currently not supported. See or for software to use.

ErcProxy has some more information on how things are right now and what you can do to use erc through a proxy.

For developers

Mailing lists

If you need help with ERC, you can ask on the erc-discuss mailing list. If you encounter ErcBugs, please let us know about them by sending an email to the erc-discuss mailing list. Feel free to send us the corresponding patches if you’re able to fix things.

Check the Savannah mailing page for ERC for subscription information.

The mailing lists are also available on Gmane.

  1. gmane.emacs.erc.announce – Announcements
  2. gmane.emacs.erc.general – General discussion
  3. gmane.emacs.erc.cvs – Log messages for changes to the ERC source code

CategoryChatClient InternetRelayChat

Bug: using customize to set erc-spelling-dictionaries saves the (buffername . dictionary) elements as pairs instead of lists.