What is ERC?

ERC is a powerful, modular, and extensible Internet Relay Chat client distributed with GNU Emacs since version 22.1.


ERC comes with the following capabilities enabled by default:

  • Timestamps
  • Flood control
  • Join channels automatically
  • Buttonized URLs, nicknames, and other text
  • Wrap long lines
  • Highlight or remove IRC control characters
  • Highlight pals, fools, and other keywords
  • Detect netsplits
  • Complete nicknames and commands in a programmable fashion
  • Make displayed lines read-only
  • Input history
  • Track channel activity in the mode-line


ERC is currently distributed with GNU Emacs. We are planning to make ERC releases available on GNU ELPA to enable ERC users to use newer versions of ERC without having to upgrade their entire GNU Emacs installation.


For documentation and tips on setting up and using ERC, see the ERC manual. Another great resource is the ERC page on the EmacsWiki.

Help and support

You can ask for help with your ERC setup on the emacs-erc mailing list, as well as the #erc channel on the Libera.Chat IRC network. Beware that #erc is a low-traffic channel, and your question may not be answered right away. You can try asking in the #emacs and #emacs-beginners channels as well if you don't get a reply in #erc after a while.


ERC is currently developed in the lisp/erc/ directory of the GNU Emacs git repository on GNU Savannah. To contribute to ERC, please see the CONTRIBUTE file for instructions on contributing to GNU Emacs.

If you would like to contribute to ERC but are not quite sure where to start, come say hi on our emacs-erc mailing list and introduce yourself if you wish, and we would be happy to try and help you get started contributing to ERC!