This article is being considered for deletion in accordance with Wikipedia's deletion policy. Please share your thoughts on the matter at this article's deletion discussion page. |
This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
The following is a general comparison of notable XMPP clients, which are instant messaging designed for decentralized, standardized, extensible, interoperable, federated, network using the XMPP protocol, which are open standard.
The architecture of the XMPP network is similar to email; anyone can run their own XMPP server and there is no central master server. This federated open system approach allows users to interoperate with others on any server using a 'JID' user account, similar to an email address.
Basic general information about the notable XMPP messengers: creator/company, license, among others.
Client | Developer | Initial release | Latest release | License | User Interface | Programming language |
---|---|---|---|---|---|---|
AstraChat [1] [2] | Rockliffe Systems | Proprietary | GUI | Unknown | ||
BeagleIM [3] | Tigase, Inc. | GPL-3.0 | GUI | Swift | ||
BitlBee | BitlBee team, with Wilmer van der Gaast as Lead Developer | 09.09.2002 | GPL-2.0 | TUI | C | |
Bombus | Eugene Stahov (evgs) | 25.08.2008 | GPL-2.0-or-later | GUI | Java, C++ | |
ChatSecure | Chris Ballinger, David Chiles, and contributors | 1.0.2 / February 27, 2012 | 5.0.2 Apr 16, 2020 | GPL-3.0-or-later | GUI | Objective-C, Swift |
Cisco Jabber [4] | Cisco Systems, Inc. | Proprietary | GUI | Unknown | ||
Conversations [5] [6] | Daniel Gultsch | 24.03.2014 | 23.08.2022 | GPL-3.0 | GUI | Java |
Converse.js [7] | JC Brand | 28.03.2013 | MPL-2.0 | Web | JavaScript | |
Dino [8] | Dino team | v0.3.0 12 Feb 2022 | GPL-3.0 | GUI | Vala | |
Gajim [9] [10] | Gajim Developers | 21.05.2004 | GPL-3.0-only | GUI | Python | |
JSXC [11] | Klaus Herberth, Marcel Waldvogel, Daniel Scharon, Tobia De Koninck | MIT | Web | JavaScript | ||
Kaidan [12] | Kaidan team | Feb 26, 2017 | 0.8.0 28 May 2021 | GPL-3.0-or-later, MIT, MIT-apple, apache 2.0, CC-BY-SA-4.0 | GUI | C++ |
Kopete | KDE | GPL-2.0-or-later | GUI | C++ (Qt) | ||
Miranda NG [13] | Miranda IM Project | ??.05.2012 | GPL-2.0-or-later | GUI | C, C++ | |
Monal IM [14] | 2011 | BSD 2-Clause License | GUI | Objective-C | ||
Movim | Timothée Jaussoin | 2.0 19 February | AGPL-3.0-or-later | GUI | PHP | |
Pidgin | 31.12.1998 | GPL-2.0-or-later | GUI/TUI | C | ||
Profanity | James Booth, Michael Vetter | ??.08.2012 | 0.12.1 4 April 2022 | GPL-3.0 | TUI | C |
Psi+ [15] | The Psi Team | 7.07.2001 | GPL-2.0-or-later | GUI | C++ (Qt) | |
Libervia (formerly Salut à Toi) | 2008 | 22 Mar 2022 | AGPL-3.0-or-later | GUI | Python | |
SiskinIM [16] | Tigase, Inc | 7.2 5 Apri 2022 | GPL-3.0 | GUI | Swift | |
Spark | Ignite Realtime | Apache 2.0 | GUI | Java | ||
Tkabber | The Tkabber Team | 2002 | 1.1.2 05/28/2015 | GNU GPL | GUI | Tcl/Tk |
yaxim [17] | Georg Lukas | 2009-12-29 | 2017-03-15 | GPL-3.0 | GUI | Java |
Xabber | Redsolition OÜ | 2.6.6 / 7 October 2019 | GPL-3.0-or-later | GUI | Java | |
Qxmpp [18] [ better source needed ] | Library | C++ | ||||
Client | Developer | Initial release | Latest release | License |
The operating systems the messengers can run on without emulators or compatibility layers [19]
Client | Operating system | |||||||
---|---|---|---|---|---|---|---|---|
Windows | macOS | Linux | Web | Android | iOS | BSD | Other | |
AstraChat | Yes | Yes | Yes | No | Yes | Yes | No | BlackBerry 10 |
beagle IM | No | Yes | No | No | No | No | No | |
BitlBee | Yes | Yes | Yes | Yes [20] | No | No | Yes | AmigaOS |
Bombus | No | No | No | No | No | No | No | JavaME, .NET Framework |
ChatSecure | No | No | No | No | No | Yes | No | |
Cisco Jabber | Yes | Yes | No | Yes | Yes | Yes | No | |
Conversations | No | No | No | No | Yes | No | No | |
converse.js | Yes | Yes | Yes | Yes | No | No | No | |
Dino | No | No | Yes | No | No | No | Yes | |
Gajim | Yes | No | Yes | No | No | No | Yes | |
JSXC | No | No | No | Yes | No | No | No | |
Kaidan | Yes | Yes | Yes | Yes | Yes | Yes | No | Ubuntu Touch |
Kopete | Yes | No | Yes | No | No | No | No | |
Miranda NG | Yes | No | No | No | No | No | No | |
Monal IM | No | Yes | No | No | No | Yes | No | |
Movim | No | No | No | Yes | No | No | No | |
Pidgin | Yes | Yes | Yes | No | No | No | Yes | Solaris, Illumos |
Profanity | Yes | Yes | Yes | No | Yes | No | Yes | |
Psi+ | Yes | Yes | Yes | No | No | No | No | haiku |
Salut à Toi [21] | No | No | Yes | Yes | Yes | No | No | |
SiskinIM | No | No | No | No | No | Yes | No | |
Spark | Yes | Yes | Yes | Yes | No | No | No | |
Tkabber | Yes | Yes | Yes | No | No | No | Yes | Solaris |
yaxim | No | No | No | No | Yes | No | No | |
Xabber | No | No | No | No | Yes | No | No | |
support platform | 52% | 48% | 52% | 32% | 32% | 24% | 24% | |
Windows | macOS | Linux | Web | Android | iOS | BSD | Other |
The table below details the level of support for the requirements set by XEP-0459: XMPP Compliance Suites 2022.
The core compliance level includes full support of the XMPP RFC's/XEP's as well as the most common extensions.
Client XEP status | Core features (RFC 6120) | TLS (RFC 7590) | Service Discovery (XEP-0030) | Entity Capabilities (XEP-0115) |
---|---|---|---|---|
N/A | N/A | Final | Stable | |
AstraChat [22] | Yes | ? | ? | ? |
BeagleIM [23] | ? | ? | ? | ? |
BitlBee [24] | ? | ? | ? | ? |
Bombus [25] | ? | ? | Yes | Yes |
ChatSecure [26] [27] [28] [29] [30] [31] | ? | ? | ? | ? |
Cisco Jabber [32] | ? | ? | Yes | Yes |
Conversations [33] | Yes | Yes | Yes | Yes |
Converse.js [34] | Yes | ? | Yes | Yes |
Dino [35] [36] | Yes | Yes | Yes | Yes |
Gajim [37] | Yes | Yes | Yes | Yes |
JSXC [38] | Yes | ? | Yes | Yes |
Kaidan [39] | Yes | ? | Yes | ? |
Kopete [40] | ||||
Miranda NG [41] | ? | ? | Yes | Yes |
Monal IM [42] | Yes | Yes | Yes | Yes |
Movim [43] | Yes | Yes | Yes | Yes |
Pidgin [44] | ? | ? | Yes | Yes |
Profanity [45] [46] | Yes | Yes | Yes | Yes |
Psi+ [47] | ? | ? | Yes | Yes |
Salut à Toi [48] | ? | ? | ? | Yes |
SiskinIM [49] | ? | ? | ? | ? |
Spark [50] | ? | ? | ? | ? |
Tkabber [51] | ? | ? | Yes | ? |
Yaxim [52] | ? | ? | Yes | Yes |
Xabber [53] [54] [55] | ? | ? | ? | Yes |
slixmpp (lib.) [56] | Yes | Yes | Yes | Yes |
QXmpp (lib.) [57] | ? | ? | Yes | Yes |
aioxmpp (lib.) [58] | Yes | Yes | Yes | Yes |
Tigase swift (lib.) [59] | Yes | ? | Yes | Yes |
XMPPframerwork (lib.) [60] | ||||
Interoperability compatibility | 43% | 27% | 67% | 67% |
Client XEP status | Core features (RFC 6120) | TLS (RFC 7590) | Service Discovery (XEP-0030) | Entity Capabilities (XEP-0115) |
Client XEP status | ||
---|---|---|
SRV records for XMPP over TLS (XEP-0368) | Personal Eventing Protocol (XEP-0163) | |
Stable | Stable | |
AstraChat | ? | ? |
BeagleIM | ? | ? |
BitlBee | ? | ? |
Bombus | ? | Yes |
ChatSecure | ? | ? |
Cisco Jabber | ? | Yes |
Conversations | Yes | Yes |
Converse.js | ? | Partial |
Dino | Yes | Yes |
Gajim | Yes | Yes |
JSXC | ? | ? |
Kaidan | ? | ? |
Kopete | ||
Miranda NG | ? | Yes |
Monal IM | Yes | Yes |
Movim | Yes | Yes |
Pidgin | ? | Yes |
Profanity | ? | ? |
Psi+ | ? | Yes |
Salut a toi | ? | Yes |
SiskinIM | ? | ? |
Spark | ? | ? |
Tkabber | ? | ? |
Yaxim | ? | ? |
Xabber | ? | ? |
slixmpp (lib.) | ? | Yes |
QXmpp (lib.) | ? | ? |
aioxmpp (lib.) | Yes | Yes |
Tigase swift (lib.) | ? | Yes |
XMPPframerwork (lib.) | ||
Interoperability compatibility | 20% | 50% |
Client XEP status | ||
SRV records for XMPP over TLS (XEP-0368) | Personal Eventing Protocol (XEP-0163) |
The web compliance level includes all features from the core compliance category as well as all features in this suite.
Client XEP status | Web Connection Mechanisms | Connection Mechanism Discovery | ||
---|---|---|---|---|
(XMPP) Subprotocol for WebSocket (RFC 7395) | Bidirectional-streams Over Synchronous HTTP (BOSH) (XEP-0206) | BOSH (XEP-0124) | Discovering Alternative XMPP Connection Methods (XEP-0156) | |
N/A | N/A | Stable | Stable | |
AstraChat | ? | ? | ? | ? |
BeagleIM | ? | ? | ? | ? |
BitlBee | ? | ? | ? | ? |
Bombus | ? | ? | ? | ? |
ChatSecure | ? | ? | ? | ? |
Cisco Jabber | ? | ? | Yes | ? |
Conversations | ? | ? | ? | ? |
Converse.js | Yes | Yes | Yes | Yes |
Dino | ? | ? | ? | ? |
Gajim | Yes | ? | ? | Partial [Note-gajim 1] |
JSXC | ? | Yes | Yes | ? |
Kaidan | ? | ? | ? | ? |
Kopete | ||||
Miranda NG | ? | ? | ? | ? |
Monal IM | ? | ? | ? | ? |
Movim | ? | Yes | Yes | ? |
Pidgin | ? | Yes | Yes | Partial |
Profanity | ? | ? | ? | ? |
Psi | ? | ? | ? | ? |
Salut a toi | ? | ? | ? | ? |
SiskinIM | ? | ? | ? | ? |
Spark | ? | ? | ? | ? |
Tkabber | ? | ? | ? | ? |
Yaxim | ? | ? | ? | ? |
Xabber | ? | ? | ? | ? |
slixmpp (lib.) | ? | ? | ? | ? |
QXmpp (lib.) | ? | ? | ? | ? |
aioxmpp (lib.) | ? | ? | ? | ? |
Tigase swift (lib.) | ? | ? | ? | ? |
XMPPframerwork (lib.) | ? | ? | ? | Yes |
Interoperability compatibility | 7% | 13% | 17% | 13% |
Client / XEP | Web Connection Mechanisms | Connection Mechanism Discovery | ||
(XMPP) Subprotocol for WebSocket (RFC 7395) | Bidirectional-streams Over Synchronous HTTP (BOSH) (XEP-0206) | BOSH (XEP-0124) | Discovering Alternative XMPP Connection Methods (XEP-0156) |
The IM compliance level includes all features from the core compliance category as well as all features in this suite.
Client XEP status | Core features (RFC 6121) | The /me Command (XEP-0245) | vcard-temp (XEP-0054) | Message Carbons (XEP-0280) | Multi-User Chat (XEP-0045) | Direct MUC Invitations (XEP-0249) | HTTP File Upload (XEP-0363) |
---|---|---|---|---|---|---|---|
N/A | Active | Active | Stable | Stable | Stable | Stable | |
AstraChat | ? | ? | Yes | ? | Yes | ? | ? |
BeagleIM | ? | ? | ? | ? | ? | ? | ? |
BitlBee | ? | ? | ? | ? | Yes | ? | ? |
Bombus | ? | ? | Yes | ? | Yes | ? | ? |
ChatSecure | ? | ? | ? | ? | ? | ? | Yes |
Cisco Jabber | ? | ? | Yes | ? | Yes | ? | ? |
Conversations | Yes | Yes | Partial | Yes | Yes | Yes | Yes |
Converse.js | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Dino | Yes | Yes | Partial [Note-dino 1] | Yes | Partial | Partial [Note-dino 2] | Yes |
Gajim | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
JSXC | Yes | Yes | Yes | Yes | Yes | ? | Yes |
Kaidan | Yes | ? | Yes | Yes | ? | ? | Yes |
Kopete | |||||||
Miranda NG | ? | Yes | Yes | Yes | Yes | Yes | Yes |
Monal IM | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Movim | Yes | Yes | Yes | Yes | Yes | ? | Yes |
Pidgin | Yes | Yes | Yes | Plug-In [61] | Yes | Yes | Plug-In [62] |
Profanity | Yes | Yes | ? | Yes | Yes | Yes | Yes |
Psi+ | ? | ? | Yes | Yes | Yes | Yes | Yes |
Salut a toi | ? | ? | Yes | ? | Yes | Yes | Yes |
SiskinIM | ? | ? | ? | ? | ? | ? | ? |
Spark | ? | ? | ? | Yes | Yes | ? | ? |
Tkabber | ? | ? | Yes | ? | ? | ? | ? |
Yaxim | ? | ? | ? | Yes | Yes | Yes | Yes |
Xabber | ? | ? | Yes | Yes | Partial | ? | Yes |
slixmpp (lib.) | Yes | ? | Yes | Yes | Partial | Yes | Yes |
QXmpp (lib.) | ? | Yes | Yes | Yes | Yes | Yes | Yes |
aioxmpp (lib.) | Yes | ? | ? | Yes | Yes | Yes | Yes |
Tigase swift (lib.) | Yes | ? | Yes | Yes | Yes | Yes | Yes |
XMPPframerwork (lib.) | ? | ? | Yes | Yes | Yes | ? | Yes |
Interoperability compatibility | 43% | 37% | 70% | 67% | 80% | 50% | 70% |
Client XEP status | Core features (RFC 6121) | The /me Command (XEP-0245) | vcard-temp (XEP-0054) | Message Carbons (XEP-0280) | Multi-User Chat (XEP-0045) | Direct MUC Invitations (XEP-0249) | HTTP File Upload (XEP-0363) |
Client XEP status | User Avatars (XEP-0084) | User Avatar to vCard-Based Avatars Conversion (XEP-0398) | vCard-Based Avatars (XEP-0153) | Blocking Command (XEP-0191) | Bookmark Storage (XEP-0048) | Message Archive Management (XEP-0313) | PEP Native Bookmarks (XEP-0402) | MUC Self-Ping (Schrödinger's Chat) (XEP-0410) | Best Practices for Persistent Storage of Private Data via Publish-Subscribe (XEP-0223) |
---|---|---|---|---|---|---|---|---|---|
Stable | Deferred | Active | Stable | Deprecated | Stable | Stable | Stable | Active | |
AstraChat | ? | ? | Yes | Yes | ? | ? | ? | ? | ? |
BeagleIM | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
BitlBee | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Bombus | ? | ? | Yes | ? | Yes | ? | ? | ? | ? |
ChatSecure | ? | ? | ? | ? | Yes | Yes | ? | ? | ? |
Cisco Jabber | ? | ? | ? | ? | ? | ? | ? | ? | ? |
conversations | Yes | Yes | Partial | Yes | Yes | Yes | ? | Yes | Yes |
Converse.js | ? | ? | ? | ? | Yes | Yes | ? | ? | ? |
Dino | Yes | Yes | Deprecated [Note-dino 3] | Yes | Yes | Partial [Note-dino 4] | Yes | Yes | Yes |
gajim | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | Yes |
JSXC | ? | ? | Yes | ? | Yes | Yes | ? | ? | ? |
Kaidan | ? | ? | Yes | ? | ? | Yes | ? | ? | ? |
Kopete | |||||||||
Miranda NG | ? | ? | Yes | ? | Yes | Yes | ? | ? | ? |
Monal IM | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Movim | Yes | ? | Yes | ? | Yes | Yes | Yes | ? | ? |
Pidgin | Yes | ? | Yes | Yes | ? | ? | ? | ? | ? |
Profanity | ? | ? | ? | Yes | Yes | ? | ? | ? | |
Psi+ | Yes | ? | Yes | ? | Yes | ? | ? | ? | ? |
Salut a toi | ? | ? | Yes | ? | Yes | Yes | ? | ? | ? |
SiskinIM | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Spark | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Tkabber | ? | ? | ? | ? | Yes | ? | ? | ? | ? |
Yaxim | In Development | ? | In Development | ? | ? | Yes | ? | Yes | ? |
Xabber | ? | ? | Yes | Yes | Yes | Yes | ? | ? | ? |
slixmpp (lib.) | Yes | ? | Yes | Yes | Yes | Yes | ? | ? | Yes |
QXmpp (lib.) | ? | ? | Yes | ? | Yes | Yes | ? | ? | ? |
aioxmpp (lib.) | Yes | ? | ? | Yes | Yes | ? | ? | ? | ? |
Tigase swift (lib.) | Yes | ? | Yes | ? | ? | Yes | Yes | ? | ? |
XMPPframerwork (lib.) | ? | ? | Yes | ? | ? | Yes | ? | ? | Yes |
Interoperability compatibility | 37% | 10% | 63% | 33% | 60% | 60% | 13% | 13% | 20% |
Client / XEP | User Avatars (XEP-0084) | User Avatar to vCard-Based Avatars Conversion (XEP-0398) | vCard-Based Avatars (XEP-0153) | Blocking Command (XEP-0191) | Bookmark Storage (XEP-0048) | Message Archive Management (XEP-0313) | PEP Native Bookmarks (XEP-0402) | MUC Self-Ping (Schrödinger's Chat) (XEP-0410) | Best Practices for Persistent Storage of Private Data via Publish-Subscribe (XEP-0223) |
Client XEP status | Private XML Storage (XEP-0049) [warning 1] | Stream Management (XEP-0198) | Message Delivery Receipts (XEP-0184) | Chat State Notifications (XEP-0085) | Last Message Correction (XEP-0308) | Jingle File Transfer (XEP-0234) | Jingle In-Band Bytestreams Transport Method (XEP-0261) |
---|---|---|---|---|---|---|---|
Active | Stable | Stable | Final | Stable | Deferred | Stable | |
AstraChat | ? | Yes | Yes | Yes | ? | ? | ? |
BeagleIM | ? | ? | ? | ? | Yes | ? | ? |
BitlBee | ? | ? | ? | Yes | ? | ? | ? |
Bombus | Yes | ? | Yes | Yes | ? | ? | ? |
ChatSecure | ? | ? | Yes | Yes | ? | ? | ? |
Cisco Jabber | ? | ? | ? | ? | ? | ? | ? |
conversations | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Converse.js | ? | Yes | Yes | Yes | Yes | ? | ? |
Dino | Yes | Yes | Yes | Yes | Yes | Partial | Yes |
gajim | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
JSXC | Yes | ? | Yes | Yes | ? | Yes | ? |
Kaidan | ? | ? | ? | Partial | ? | ? | ? |
Kopete | |||||||
Miranda NG | Yes | Yes | Partial | Yes | ? | ? | ? |
Monal IM | ? | Yes | Yes | Yes | Yes | Yes | Yes |
Movim | Yes | ? | Yes | Yes | Yes | ? | ? |
Pidgin | ? | ? | ? | Yes | ? | ? | ? |
Profanity | ? | ? | Yes | Yes | Yes | Yes | ? |
Psi+ | Yes | Yes | Yes | Yes | Yes | Yes | ? |
Salut a toi | Yes | ? | ? | Yes | ? | Yes | Yes |
SiskinIM | ? | ? | ? | ? | Yes | ? | ? |
Spark | ? | ? | ? | Yes | ? | ? | ? |
Tkabber | Yes | ? | ? | Yes | ? | ? | ? |
Yaxim | ? | Yes | Yes | ? | Yes | ? | ? |
Xabber | ? | Yes | Yes | Yes | ? | ? | ? |
slixmpp (lib.) | Yes | Yes | Yes | Yes | Yes | ? | ? |
QXmpp (lib.) | ? | Yes | Yes | Yes | Yes | ? | ? |
aioxmpp (lib.) | Yes | Yes | Yes | ? | Yes | ? | ? |
Tigase swift (lib.) | ? | Yes | Yes | ? | ? | ? | ? |
XMPPframerwork (lib.) | ? | ? | Yes | Yes | Yes | ? | ? |
Interoperability compatibility | 40% | 47% | 67% | 77% | 50% | 27% | 17% |
Client / XEP | Private XML Storage (XEP-0049) [warning 1] | Stream Management (XEP-0198) | Message Delivery Receipts (XEP-0184) | Chat State Notifications (XEP-0085) | Last Message Correction (XEP-0308) | Jingle File Transfer (XEP-0234) | Jingle In-Band Bytestreams Transport Method (XEP-0261) |
Further specifications of note, which are not required for compliance:
Client XEP status | In-Band Registration (XEP-0077) [warning 2] | Contact Addresses for XMPP Services (XEP-0157) | Out-of-Band Data (XEP-0066) | Stateless Inline Media Sharing (SIMS) (XEP-0385) | Consistent Color Generation (XEP-0392) | Message Styling (XEP-0393) | Extended Channel Search (XEP-0433) | Message Retraction (XEP-0424) | Message Moderation (XEP-0425) |
---|---|---|---|---|---|---|---|---|---|
Final | Active | Stable | Deferred | Experimental | Stable | Deferred | proposed | proposed | |
AstraChat | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BeagleIM | ? | ? | ? | ? | ? | ? | ? | Yes | ? |
BitlBee | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Bombus | Yes | ? | Yes | ? | ? | ? | ? | ? | ? |
ChatSecure | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
Cisco Jabber | ? | ? | Yes | ? | ? | ? | ? | ? | ? |
conversations | ? | ? | ? | ? | Yes | Yes | ? | ? | ? |
Converse.js | Yes | ? | Yes | ? | ? | Yes | ? | Yes | Yes |
Dino | Yes | ? | Partial [Note-dino 5] | ? | ? | Partial | ? | ? | ? |
gajim | Yes | Yes | Partial [Note-gajim 2] | ? | Yes | Yes | ? | Yes | Yes |
JSXC | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Kaidan | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
Kopete | |||||||||
Miranda NG | Yes | ? | Yes | ? | ? | ? | ? | ? | ? |
Monal IM | Yes | ? | Yes | ? | Yes | ? | ? | ? | ? |
Movim | Yes | Yes | ? | Yes | ? | Partial | ? | Yes | ? |
Pidgin | Yes | ? | Yes | ? | ? | ? | ? | ? | ? |
Profanity | Yes | Yes | ? | ? | Yes | ? | ? | ? | ? |
Psi+ | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? |
Salut a toi | Yes | ? | ? | ? | ? | ? | ? | ||
SiskinIM | ? | ? | ? | ? | ? | ? | ? | Yes | ? |
Spark | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Tkabber | Yes | ? | Yes | ? | ? | ? | ? | ? | ? |
Yaxim | Yes | ? | ? | ? | ? | Yes | ? | ? | ? |
Xabber | ? | ? | ? | ? | ? | ? | ? | ? | ? |
slixmpp (lib.) | Yes | ? | Yes | ? | ? | ? | ? | Yes | Yes |
QXmpp (lib.) | Yes | ? | Yes | ? | ? | ? | ? | ? | ? |
aioxmpp (lib.) | Yes | ? | Yes | ? | ? | ? | ? | ? | ? |
Tigase swift (lib.) | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
XMPPframerwork (lib.) | ? | ? | Yes | ? | ? | ? | ? | ? | ? |
Interoperability compatibility | 63% | 13% | 47% | 7% | 13% | 20% | 0% | 20% | 10% |
Client / XEP status | In-Band Registration (XEP-0077) [warning 2] | Contact Addresses for XMPP Services (XEP-0157) | Out-of-Band Data (XEP-0066) | Stateless Inline Media Sharing (SIMS) (XEP-0385) | Consistent Color Generation (XEP-0392) | Message Styling (XEP-0393) | Extended Channel Search (XEP-0433) | Message Retraction (XEP-0424) | Message Moderation (XEP-0425) |
The mobile compliance level includes all features from the core compliance category as well as all features in this suite.
Client XEP status | |||
---|---|---|---|
Client State Indication (XEP-0352) [warning 3] | Push Notifications (XEP-0357) [warning 4] | Mobile Considerations on LTE Networks (XEP-0286) [warning 5] | |
Active | Deferred | Active | |
AstraChat | ? | ? | ? |
BeagleIM | ? | ? | ? |
BitlBee | ? | ? | ? |
Bombus | ? | ? | ? |
ChatSecure | Yes | Yes | ? |
Cisco Jabber | ? | ? | ? |
Conversations | Yes | Yes [Note-conversations 1] | ? |
converse.js | Yes | Yes | ? |
Dino | ? | ? | ? |
Gajim | ? | ? | ? |
JSXC | ? | ? | ? |
Kaidan | Yes | ? | ? |
Kopete | |||
Miranda NG | Yes | ? | ? |
Monal IM | Yes | Yes | Yes |
Movim | ? | ? | ? |
Pidgin | ? | ? | ? |
Profanity | ? | ? | ? |
Psi+ | ? | ? | ? |
Salut a toi | ? | ? | ? |
SiskinIM | ? | ? | ? |
Spark | ? | ? | ? |
Tkabber | ? | ? | ? |
Yaxim | Yes | ? | ? |
Xabber | ? | ? | ? |
slixmpp (lib.) | Yes | ? | ? |
QXmpp (lib.) | Yes | Yes | ? |
aioxmpp (lib.) | ? | ? | ? |
Tigase swift (lib.) | ? | Yes | ? |
XMPPframerwork (lib.) | ? | Yes | ? |
Interoperability compatibility | 30% | 23% | 3% |
Client XEP status | |||
Client State Indication (XEP-0352) [warning 3] | Push Notifications (XEP-0357) [warning 4] | Mobile Considerations on LTE Networks (XEP-0286) [warning 5] |
To be considered XMPP A/V calling compliant, all features from the core compliance category must be met, as well as all features in this suite.
Client XEP status | Jingle RTP Sessions (XEP-0167) | Jingle Message Initiation (XEP-0353) | Jingle ICE-UDP Transport Method (XEP-0176) | Use of DTLS-SRTP in Jingle Sessions (XEP-0320) | External Service Discovery (XEP-0215) |
---|---|---|---|---|---|
Stable | Experimental | Stable | Stable | Deferred | |
AstraChat | ? | ? | Yes | ? | ? |
BeagleIM | ? | Yes | ? | ? | Yes |
BitlBee | ? | ? | ? | ? | ? |
Bombus | ? | ? | ? | ? | ? |
ChatSecure | ? | ? | ? | ? | ? |
Cisco Jabber | ? | ? | ? | ? | ? |
Conversations | Yes | Yes | Yes | Yes | Yes |
Converse.js | ? | ? | Yes | Yes | Yes |
Dino | Partial | Yes | Partial | Yes | Partial |
Gajim | ? | ? | ? | ? | ? |
JSXC | Yes | ? | ? | ? | ? |
Kaidan | ? | ? | ? | ? | ? |
Kopete | |||||
Miranda NG | ? | ? | Yes | ? | |
Monal IM | ? | ? | ? | ? | Planned |
Movim | ? | Yes | ? | ? | Yes |
Pidgin | Yes | ? | Yes | ? | ? |
Profanity | ? | ? | ? | ? | ? |
Psi+ | Yes | ? | Yes | Yes | Yes |
Salut a toi | ? | ? | ? | ? | ? |
SiskinIM | ? | Yes | ? | ? | Yes |
Spark | ? | ? | ? | ? | ? |
Tkabber | ? | ? | ? | ? | ? |
Yaxim | ? | ? | ? | ? | ? |
Xabber | ? | ? | ? | ? | ? |
slixmpp (lib.) | ? | Yes | ? | ? | ? |
QXmpp (lib.) | Yes | ? | Yes | ? | ? |
aioxmpp (lib.) | ? | ? | ? | ? | ? |
Tigase swift (lib.) | Yes | ? | Yes | ? | ? |
XMPPframerwork (lib.) | ? | ? | ? | ? | |
Interoperability compatibility | 23% | 20% | 30% | 13% | 27% |
Client / XEP | Jingle RTP Sessions (XEP-0167) | Jingle Message Initiation (XEP-0353) | Jingle ICE-UDP Transport Method (XEP-0176) | Use of DTLS-SRTP in Jingle Sessions (XEP-0320) | External Service Discovery (XEP-0215) |
Client XEP status | Jingle RTP Feedback Negotiation (XEP-0293) | Jingle RTP Header Extensions Negotiation (XEP-0294) | Jingle Grouping Framework (XEP-0338) | Source-Specific Media Attributes in Jingle (XEP-0339) |
---|---|---|---|---|
Stable | Stable | Stable | Stable | |
AstraChat | ? | ? | ? | ? |
BeagleIM | ? | ? | ? | ? |
BitlBee | ? | ? | ? | ? |
Bombus | ? | ? | ? | ? |
ChatSecure | ? | ? | ? | ? |
Cisco Jabber | ? | ? | ? | ? |
Conversations | Yes | Yes | Yes | Yes |
Converse.js | ? | ? | ? | ? |
Dino | Partial | Partial | ? | ? |
Gajim | ? | ? | ? | ? |
JSXC | ? | ? | ? | ? |
Kaidan | ? | ? | ? | ? |
Kopete | ||||
Miranda NG | ? | ? | ? | ? |
Monal IM | ? | Yes | ? | ? |
Movim | ? | ? | ? | ? |
Pidgin | ? | ? | ? | ? |
Profanity | ? | ? | ? | ? |
Psi+ | ? | ? | ? | ? |
Salut a toi | ? | ? | ? | ? |
SiskinIM | ? | ? | ? | ? |
Spark | ? | ? | ? | ? |
Tkabber | ? | ? | ? | ? |
Yaxim | ? | ? | ? | ? |
Xabber | ? | ? | ? | ? |
slixmpp (lib.) | ? | ? | ? | ? |
QXmpp (lib.) | ? | ? | ? | ? |
aioxmpp (lib.) | ? | ? | ? | ? |
Tigase swift (lib.) | ? | ? | ? | ? |
XMPPframerwork (lib.) | ? | ? | ? | ? |
Interoperability compatibility | 7% | 10% | 3% | 3% |
Client / XEP | Jingle RTP Feedback Negotiation (XEP-0293) | Jingle RTP Header Extensions Negotiation (XEP-0294) | Jingle Grouping Framework (XEP-0338) | Source-Specific Media Attributes in Jingle (XEP-0339) |
This section outlines the protocol specifications that are relevant for developers, but are not ready yet to be required for Compliance. Developers are encouraged to implement those and to share their experience and feedback.
Client XEP status | Bind 2.0 (XEP-0386) | IM Routing-NG (XEP-0409) | Instant Stream Resumption (XEP-0397) | Ad-hoc Account Invitation Generation (XEP-0401) | Pre-Authenticated Roster Subscription (XEP-0379) | Pre-Authenticated In-Band Registration (XEP-0445) | Chat Markers (XEP-0333) | Mediated Information eXchange (MIX) (XEP-0369) | Explicit Message Encryption (XEP-0380) | Stanza Content Encryption (XEP-0420) |
---|---|---|---|---|---|---|---|---|---|---|
Deferred | Deferred | Deferred | proposed | proposed | proposed | Deferred | Experimental | Deferred | Experimental | |
AstraChat | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BeagleIM | ? | ? | ? | ? | ? | ? | Yes | Yes | ? | ? |
BitlBee | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Bombus | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
ChatSecure | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Cisco Jabber | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Conversations | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
Converse.js | ? | ? | ? | ? | ? | ? | Yes | ? | ? | Yes |
Dino | ? | ? | ? | ? | ? | ? | Yes | ? | Partial [Note-dino 6] | ? |
Gajim | ? | ? | ? | ? | ? | ? | Partial [Note-gajim 3] | ? | Yes | ? |
JSXC | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Kaidan | ? | ? | ? | ? | ? | ? | ? | planned | ? | planned |
Kopete | ||||||||||
Miranda NG | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
Monal IM | won't fix | won't fix | won't fix | ? | Partial | ? | Partial [Note-monalim 1] | Yes | Yes | Yes |
Movim | ? | ? | ? | ? | ? | ? | Yes | ? | Partial | ? |
Pidgin | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Profanity | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Psi+ | ? | ? | ? | ? | ? | ? | ? | ? | Partial | ? |
Salut a toi | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SiskinIM | ? | ? | ? | ? | ? | ? | Yes | Yes | ? | ? |
Spark | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Tkabber | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Yaxim | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? |
Xabber | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
slixmpp (lib.) | ? | ? | ? | ? | ? | ? | Yes | Partial | Yes | ? |
QXxmpp (lib.) | ? | ? | ? | ? | ? | ? | ? | Partial [Note-qxmpp 1] | ? | ? |
aioxmpp (lib.) | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? |
Tigase swift (lib.) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
XMPPframerwork (lib.) | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
Interoperability compatibility | 3% | 3% | 3% | 0% | 10% | 0% | 40% | 20% | 20% | 10% |
Client XEP status | Bind 2.0 (XEP-0386) | IM Routing-NG (XEP-0409) | Instant Stream Resumption (XEP-0397) | Ad-hoc Account Invitation Generation (XEP-0401) | Pre-Authenticated Roster Subscription (XEP-0379) | Pre-Authenticated In-Band Registration (XEP-0445) | Chat Markers (XEP-0333) | Mediated Information eXchange (MIX) (XEP-0369) | Explicit Message Encryption (XEP-0380) | Stanza Content Encryption (XEP-0420) |
Client XEP status | OMEMO Encryption (XEP-0384) | Jingle Encrypted Transports - OMEMO (XEP-0396) | OpenPGP for XMPP Instant Messaging (XEP-0374) | Bookmarks Conversion (XEP-0411) | Component Connections (XEP-0225) | Entity Capabilities 2.0 (XEP-0390) | Service Outage Status (XEP-0455) |
---|---|---|---|---|---|---|---|
Experimental | Deferred | Deferred | Deprecated | Deferred | Deferred | Experimental | |
AstraChat | ? | ? | ? | ? | ? | ? | ? |
BeagleIM | ? | ? | ? | ? | ? | ? | ? |
BitlBee | ? | ? | ? | ? | ? | ? | ? |
Bombus | ? | ? | ? | ? | ? | ? | ? |
ChatSecure | Yes | ? | ? | ? | ? | ? | ? |
Cisco Jabber | ? | ? | ? | ? | ? | ? | ? |
Conversations | Yes | Yes | ? | Yes | ? | ? | ? |
Coverse.js | Yes | ? | Yes | ? | ? | ? | ? |
Dino | Yes | Yes | ? | ? | ? | ? | ? |
Gajim | Plug-In [63] | ? | Yes | Yes | Yes | Yes | ? |
JSXC | ? | ? | ? | ? | ? | ? | ? |
Kaidan | planned | ? | ? | ? | ? | ? | ? |
Kopete | |||||||
Miranda NG | Yes | ? | ? | ? | ? | ? | ? |
Monal IM | Yes | Yes | Yes | ? | ? | Yes | ? |
Movim | ? | ? | ? | ? | ? | ? | ? |
Pidgin | Plug-in [64] | ? | Dropped [65] | ? | ? | ? | ? |
Profanity | Yes | ? | Yes | ? | ? | ? | ? |
Psi+ | Yes | ? | ? | ? | ? | ? | ? |
Salut a toi | ? | ? | ? | ? | ? | ? | ? |
SiskinIM | ? | ? | ? | ? | ? | ? | ? |
Spark | ? | ? | ? | ? | ? | ? | ? |
Tkabber | ? | ? | ? | ? | ? | ? | ? |
Yaxim | In Development | ? | ? | ? | ? | ? | ? |
Xabber | Yes | ? | ? | ? | ? | ? | ? |
slixmpp (lib.) | ? | ? | ? | ? | ? | ? | ? |
QXmpp (lib.) | ? | ? | ? | ? | ? | ? | ? |
aioxmpp (lib.) | ? | ? | ? | ? | ? | Yes | ? |
Tigase swift (lib.) | Plug-In | ? | ? | ? | ? | ? | ? |
XMPPframerwork (lib.) | Yes | ? | ? | ? | ? | ? | ? |
Interoperability compatibility | 50% | 10% | 17% | 7% | 3% | 10% | 0% |
Client XEP status | OMEMO Encryption (XEP-0384) | Jingle Encrypted Transports - OMEMO (XEP-0396) | OpenPGP for XMPP Instant Messaging (XEP-0374) | Bookmarks Conversion (XEP-0411) | Component Connections (XEP-0225) | Entity Capabilities 2.0 (XEP-0390) | Service Outage Status (XEP-0455) |
Compliance status of XMPP clients, with RFCs/XEPs
Client | Core | Web | IM/Core | IM/Advanced | IM/Further | Mobile | A/V Calling | Future | Overall |
---|---|---|---|---|---|---|---|---|---|
AstraChat | 17% | ? | 29% | 31% | ? | ? | 11% | ? | 13% |
beagle IM | ? | ? | ? | 13% | 11% | ? | 22% | 12% | 10% |
BitlBee | ? | ? | 14% | 6% | ? | ? | ? | ? | 3% |
Bombus | 50% | ? | 29% | 31% | 22% | ? | ? | ? | 17% |
ChatSecure | ? | ? | 14% | 25% | 11% | 67% | ? | 6% | 13% |
Cisco Jabber | 50% | 25% | 29% | ? | 11% | ? | ? | ? | 10% |
Conversations | 100% | ? | 93% | 91% | 22% | 67% | 100% | 24% | 69% |
converse.js | 42% | 100% | 86% | 38% | 56% | 67% | 33% | 24% | 46% |
Dino | 100% | ? | 79% | 91% | 22% | ? | 50% | 21% | 61% |
Gajim | 100% | 38% | 100% | 88% | 72% | ? | ? | 38% | 61% |
JSXC | 50% | 50% | 86% | 44% | ? | ? | 11% | ? | 27% |
Kaidan | 33% | ? | 57% | 16% | 11% | 33% | ? | ? | 20% |
Kopete | ? | ? | ? | ? | ? | ? | ? | ? | 0% |
Miranda IM | 50% | ? | 86% | 41% | 22% | 33% | 11% | 12% | 31% |
Monal IM | 100% | ? | 100% | 88% | 33% | 100% | 11% | 47% | 65% |
Movim | 100% | 50% | 86% | 56% | 50% | ? | 22% | 9% | 45% |
Pidgin | 50% | 63% | 71% | 25% | ? | 22% | ? | 6% | 31% |
Profanity | 67% | ? | 86% | 38% | 33% | ? | ? | 12% | 30% |
Psi+ | 50% | ? | 71% | 56% | 44% | ? | 44% | 9% | 21% |
Salut à Toi | 33% | ? | 57% | 44% | 11% | ? | ? | ? | 20% |
SiskinIM | ? | ? | ? | 6% | 11% | ? | 22% | 12% | 8% |
Spark | ? | ? | 29% | 6% | ? | ? | ? | ? | 4% |
Tkabber | 17% | ? | 14% | 19% | 22% | ? | ? | ? | 10% |
yaxim | 33% | ? | 57% | 31% | 22% | 33% | ? | 6% | 25% |
Xabber | 17% | ? | 50% | 44% | ? | ? | ? | 12% | 20% |
slixmpp (lib.) | 83% | ? | 79% | 69% | 44% | 33% | 11% | 15% | 42% |
QXmpp (lib.) | 33% | ? | 86% | 44% | 22% | 67% | 22% | 3% | 30% |
aioxmpp (lib.) | 100% | ? | 71% | 44% | 22% | ? | ? | 12% | 31% |
Tigase swift (lib.) | 67% | ? | 86% | 38% | 11% | 33% | 22% | ? | 28% |
XMPPframerwork (lib.) | ? | 25% | 86% | 38% | 11% | 33% | ? | 12% | 21% |
Client | Core | Web | IM/Core | IM/Advanced | IM/Further | Mobile | A/V Calling | Future | Overall |
ICQ New is a cross-platform instant messaging (IM) and VoIP client. The name ICQ derives from the English phrase "I Seek You". Originally developed by the Israeli company Mirabilis in 1996, the client was bought by AOL in 1998, and then by Mail.Ru Group in 2010.
Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and triggers a transmission to the recipient(s), who are all connected on a common network. It differs from email in that conversations over instant messaging happen in real-time. Most modern IM applications use push technology and also add other features such as emojis, file transfer, chatbots, voice over IP, or video chat capabilities.
Pidgin is a free and open-source multi-platform instant messaging client, based on a library named libpurple that has support for many instant messaging protocols, allowing the user to simultaneously log in to various services from a single application, with a single interface for both popular and obsolete protocols, thus avoiding the hassle of having to deal with a new software for each device and protocol.
Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.
Adium is a free and open source instant messaging client for macOS that supports multiple IM networks, including Google Talk and XMPP. In the past, it has also supported AIM, ICQ, Windows Live Messenger and Yahoo! Messenger. Adium is written using macOS's Cocoa API, and it is released under the GNU GPL-2.0-or-later and many other licenses for components that are distributed with Adium.
Psi is a free instant messaging client for the XMPP protocol which uses the Qt toolkit. It runs on Linux, Windows, macOS and OS/2.
BitlBee is a cross-platform IRC instant messaging gateway, licensed under the terms of the GNU General Public License.
The following is a comparison of instant messaging protocols. It contains basic general information about the protocols.
Gajim is an instant messaging client for the XMPP protocol which uses the GTK toolkit. The name Gajim is a recursive acronym for Gajim's a jabber instant messenger. Gajim runs on Linux, BSD, macOS, and Microsoft Windows. Released under the GPL-3.0-only license, Gajim is free software. A 2009 round-up of similar software on Tom's Hardware found version 0.12.1 "the lightest and fastest jabber IM client".
Off-the-Record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bits group size, and the SHA-1 hash function. In addition to authentication and encryption, OTR provides forward secrecy and malleable encryption.
Skype for Business Server is real-time communications server software that provides the infrastructure for enterprise instant messaging, presence, VoIP, ad hoc and structured conferences and PSTN connectivity through a third-party gateway or SIP trunk. These features are available within an organization, between organizations and with external users on the public internet or standard phones.
Skype for Business is an enterprise software application for instant messaging and videotelephony developed by Microsoft as part of the Microsoft Office suite. It is designed for use with the on-premises Skype for Business Server software, and a software as a service version offered as part of Office 365. It supports text, audio, and video chat, and integrates with Microsoft Office components such as Exchange and SharePoint.
Jingle is an extension to the Extensible Messaging and Presence Protocol (XMPP) which adds peer-to-peer (P2P) session control (signaling) for multimedia interactions such as in Voice over IP (VoIP) or videoconferencing communications. It was designed by Google and the XMPP Standards Foundation. The multimedia streams are delivered using the Real-time Transport Protocol (RTP). If needed, NAT traversal is assisted using Interactive Connectivity Establishment (ICE).
Tigase is an open source project started by Artur Hefczyc in October 2004 to develop an XMPP server implementation in Java.
Empathy is an instant messaging (IM) and voice over IP (VoIP) client which supports text, voice, video, file transfers, and inter-application communication over various IM communication protocols.
Tox is a peer-to-peer instant-messaging and video-calling protocol that offers end-to-end encryption. The stated goal of the project is to provide secure yet easily accessible communication for everyone. A reference implementation of the protocol is published as free and open-source software under the terms of the GNU GPL-3.0-or-later.
OMEMO is an extension to the Extensible Messaging and Presence Protocol (XMPP) for multi-client end-to-end encryption developed by Andreas Straub. According to Straub, OMEMO uses the Double Ratchet Algorithm "to provide multi-end to multi-end encryption, allowing messages to be synchronized securely across multiple clients, even if some of them are offline". The name "OMEMO" is a recursive acronym for "OMEMO Multi-End Message and Object Encryption". It is an open standard based on the Double Ratchet Algorithm and the Personal Eventing Protocol . OMEMO offers future and forward secrecy and deniability with message synchronization and offline delivery.
Xabber is a XMPP client for the Android Operating System. It is developed as an open source Project on GitHub and is licensed under the GNU GPL v.3 license. The original developers are from a software company called Redsolution, Inc. Xabber is available on the Android Play Store and on F-Droid.
Conversations is a free software, instant messaging client application software for Android. It is largely based on recognized open standards such as the Extensible Messaging and Presence Protocol (XMPP) and Transport Layer Security (TLS).