SourceForge.net Logo

jabber.el is a Jabber (XMPP) client for Emacs.

Get it from MELPA

If you're using Emacs 24 or later, the easiest way to install jabber.el is through MELPA. Add MELPA as a package archive if you haven't already done so, type M-x list-packages and install the jabber package.

Download it

The latest release is 0.8.92 (8-May-2013). Unpack it and run ./configure && make && make install, or see the README file.

Clone it

git clone git://git.code.sf.net/p/emacs-jabber/git emacs-jabber

You can also browse the repository with your web browser.


External resources:


What is Jabber?

Jabber is an open instant messaging (IM) system, also known as XMPP. It is described in RFCs 3920-3923 and a series of XEPs (XMPP Extension Proposals). That is, unlike legacy IM systems (such as ICQ or MSN Messenger), the protocol is published in the open, free for anyone to implement. Therefore you shouldn't be surprised that there is a Jabber client for Emacs, too. (If you are not of the Emacs persuasion, see this list of XMPP/Jabber clients.)

Jabber is, like e-mail, a decentralised system. A Jabber identifier (JID) is of the form username@server, just like an e-mail address, and every Jabber user whose server is open to Internet connections can communicate with any other user. This is in stark contrast to the legacy "walled-garden" IM systems, where you need a separate account for each system to be able to communicate with its users. Note that the Google Talk service is an XMPP service, so if you have a GMail account, you already have a JID ending with @gmail.com.

In Jabber, you have a "roster", a list of contacts. You can see which of them are online at the moment, and chat with them. (You can also send messages to an offline contact, and the message will be stored on the server for later delivery.) Jabber also supports IRC-style chat rooms.

What is jabber.el?

jabber.el is a Jabber client for Emacs. It may seem strange to have a chat client in an editor, but consider that chatting is, after all, just a special case of text editing.

Downloading and installing


Note that jabber.el is available as emacs-jabber in Debian, and in Ubuntu's "universe" section.


jabber.el requires either GNU Emacs 22, or GNU Emacs 21 combined with Gnus 5.10. You should get these from your distribution, or from the Emacs and Gnus web sites.

However, if you want to connect to servers that use SRV records (e.g. Google Talk), it is recommended to use either No Gnus or Gnus 5.13.

If you want encrypted connections (some servers, e.g. Google Talk, require it), you need GnuTLS installed.


Download the latest release and unpack it in a suitable location. Add something like the following to your .emacs file:

;; adjust this path:
(add-to-list 'load-path "/path/to/emacs-jabber")
;; For 0.7.1 and below:
(require 'jabber)
;; For 0.7.90 and above:
(require 'jabber-autoloads)

Either evaluate those lines, or restart Emacs.


See the Basic Operation in the manual.

Reporting bugs

Bug reports can be sent either to the mailing list emacs-jabber-general or to the bug tracker.

Latest source

jabber.el releases are, unfortunately, less frequent than they would be in an ideal world. You can get the latest development version using git.

On Sourceforge

git clone git://git.code.sf.net/p/emacs-jabber/git emacs-jabber

You can also browse the repository with your web browser.

catap's repository

git clone git://catap.ru/emacs-jabber/emacs-jabber.git

List of releases

The list of releases has been moved to a separate page.

Created: 2014-02-02 Sun 00:01

Emacs (Org mode 8.2.5f)