Comparison of XMPP clients

Last updated

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.

Contents

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.

General

Basic general information about the notable XMPP messengers: creator/company, license, among others.

ClientDeveloperInitial releaseLatest releaseLicenseUser InterfaceProgramming language
AstraChat [1] [2] Rockliffe Systems Proprietary GUIUnknown
BeagleIM [3] Tigase, Inc. GPL-3.0 GUISwift
BitlBee BitlBee team, with Wilmer van der Gaast as Lead Developer09.09.2002 GPL-2.0 TUIC
Bombus Eugene Stahov (evgs)25.08.2008 GPL-2.0-or-later GUIJava, C++
ChatSecure Chris Ballinger, David Chiles, and contributors1.0.2 / February 27, 20125.0.2 Apr 16, 2020 GPL-3.0-or-later GUIObjective-C, Swift
Cisco Jabber [4] Cisco Systems, Inc. Proprietary GUIUnknown
Conversations [5] [6] Daniel Gultsch24.03.201423.08.2022 GPL-3.0 GUIJava
Converse.js [7] JC Brand28.03.2013 MPL-2.0 Web JavaScript
Dino [8] Dino teamv0.3.0 12 Feb 2022 GPL-3.0 GUIVala
Gajim [9] [10] Gajim Developers21.05.2004 GPL-3.0-only GUIPython
JSXC [11] Klaus Herberth, Marcel Waldvogel, Daniel Scharon, Tobia De Koninck MIT WebJavaScript
Kaidan [12] Kaidan teamFeb 26, 20170.8.0
28 May 2021
GPL-3.0-or-later, MIT, MIT-apple, apache 2.0, CC-BY-SA-4.0 GUIC++
Kopete KDE GPL-2.0-or-later GUIC++ (Qt)
Miranda NG [13] Miranda IM Project ??.05.2012 GPL-2.0-or-later GUIC, C++
Monal IM [14] 2011 BSD 2-Clause License GUIObjective-C
Movim Timothée Jaussoin2.0
19 February
AGPL-3.0-or-later GUIPHP
Pidgin 31.12.1998 GPL-2.0-or-later GUI/TUIC
Profanity James Booth, Michael Vetter ??.08.20120.12.1
4 April 2022
GPL-3.0 TUIC
Psi+ [15] The Psi Team7.07.2001 GPL-2.0-or-later GUIC++ (Qt)
Libervia (formerly Salut à Toi) 200822 Mar 2022 AGPL-3.0-or-later GUIPython
SiskinIM [16] Tigase, Inc7.2
5 Apri 2022
GPL-3.0 GUISwift
Spark Ignite Realtime Apache 2.0 GUIJava
Tkabber The Tkabber Team20021.1.2
05/28/2015
GNU GPL GUITcl/Tk
yaxim [17] Georg Lukas2009-12-292017-03-15 GPL-3.0 GUIJava
Xabber Redsolition OÜ2.6.6 / 7 October 2019 GPL-3.0-or-later GUIJava
Qxmpp [18] [ better source needed ]LibraryC++
ClientDeveloperInitial releaseLatest releaseLicense

Operating system support

The operating systems the messengers can run on without emulators or compatibility layers [19]

Client Operating system
WindowsmacOSLinuxWebAndroidiOSBSDOther
AstraChatYesYesYesNoYesYesNoBlackBerry 10
beagle IMNoYesNoNoNoNoNo
BitlBee YesYesYesYes [20] NoNoYes AmigaOS
Bombus NoNoNoNoNoNoNo JavaME, .NET Framework
ChatSecure NoNoNoNoNoYesNo
Cisco JabberYesYesNoYesYesYesNo
Conversations NoNoNoNoYesNoNo
converse.jsYesYesYesYesNoNoNo
DinoNoNoYesNoNoNoYes
Gajim YesNoYesNoNoNoYes
JSXCNoNoNoYesNoNoNo
KaidanYesYesYesYesYesYesNoUbuntu Touch
Kopete YesNoYesNoNoNoNo
Miranda NG YesNoNoNoNoNoNo
Monal IMNoYesNoNoNoYesNo
Movim NoNoNoYesNoNoNo
Pidgin YesYesYesNoNoNoYes Solaris, Illumos
Profanity YesYesYesNoYesNoYes
Psi+ YesYesYesNoNoNoNohaiku
Salut à Toi [21] NoNoYesYesYesNoNo
SiskinIMNoNoNoNoNoYesNo
Spark YesYesYesYesNoNoNo
Tkabber YesYesYesNoNoNoYes Solaris
yaximNoNoNoNoYesNoNo
Xabber NoNoNoNoYesNoNo
support platform
WindowsmacOSLinuxWebAndroidiOSBSDOther

Features

The table below details the level of support for the requirements set by XEP-0459: XMPP Compliance Suites 2022.

Core Compliance Suite

The core compliance level includes full support of the XMPP RFC's/XEP's as well as the most common extensions.

Core client

Client
XEP status
Core features
(RFC 6120)
TLS
(RFC 7590)
Service Discovery
(XEP-0030)
Entity Capabilities
(XEP-0115)
N/AN/AFinalStable
AstraChat [22] Yes???
BeagleIM [23] ????
BitlBee [24] ????
Bombus [25] ??YesYes
ChatSecure [26] [27] [28] [29] [30] [31] ????
Cisco Jabber [32] ??YesYes
Conversations [33] YesYesYesYes
Converse.js [34] Yes?YesYes
Dino [35] [36] YesYesYesYes
Gajim [37] YesYesYesYes
JSXC [38] Yes?YesYes
Kaidan [39] Yes?Yes?
Kopete [40]
Miranda NG [41] ??YesYes
Monal IM [42] YesYesYesYes
Movim [43] YesYesYesYes
Pidgin [44] ??YesYes
Profanity [45] [46] YesYesYesYes
Psi+ [47] ??YesYes
Salut à Toi [48] ???Yes
SiskinIM [49] ????
Spark [50] ????
Tkabber [51] ??Yes?
Yaxim [52] ??YesYes
Xabber [53] [54] [55] ???Yes
slixmpp (lib.) [56] YesYesYesYes
QXmpp (lib.) [57] ??YesYes
aioxmpp (lib.) [58] YesYesYesYes
Tigase swift (lib.) [59] Yes?YesYes
XMPPframerwork (lib.) [60]
Interoperability compatibility
Client
XEP status
Core features
(RFC 6120)
TLS
(RFC 7590)
Service Discovery
(XEP-0030)
Entity Capabilities
(XEP-0115)

Advanced client

Client
XEP status
SRV records for XMPP over TLS
(XEP-0368)
Personal Eventing Protocol
(XEP-0163)
StableStable
AstraChat??
BeagleIM??
BitlBee??
Bombus?Yes
ChatSecure??
Cisco Jabber?Yes
ConversationsYesYes
Converse.js?Partial
DinoYesYes
GajimYesYes
JSXC??
Kaidan??
Kopete
Miranda NG?Yes
Monal IMYesYes
MovimYesYes
Pidgin?Yes
Profanity??
Psi+?Yes
Salut a toi?Yes
SiskinIM??
Spark??
Tkabber??
Yaxim??
Xabber??
slixmpp (lib.)?Yes
QXmpp (lib.)??
aioxmpp (lib.)YesYes
Tigase swift (lib.)?Yes
XMPPframerwork (lib.)
Interoperability compatibility
Client
XEP status
SRV records for XMPP over TLS
(XEP-0368)
Personal Eventing Protocol
(XEP-0163)

Web Compliance Suite

The web compliance level includes all features from the core compliance category as well as all features in this suite.

Core client

Client
XEP status
Web Connection MechanismsConnection 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/AN/AStableStable
AstraChat????
BeagleIM????
BitlBee????
Bombus????
ChatSecure????
Cisco Jabber??Yes?
Conversations????
Converse.jsYesYesYesYes
Dino????
GajimYes??Partial [Note-gajim 1]
JSXC?YesYes?
Kaidan????
Kopete
Miranda NG????
Monal IM????
Movim?YesYes?
Pidgin?YesYesPartial
Profanity????
Psi????
Salut a toi????
SiskinIM????
Spark????
Tkabber????
Yaxim????
Xabber????
slixmpp (lib.)????
QXmpp (lib.)????
aioxmpp (lib.)????
Tigase swift (lib.)????
XMPPframerwork (lib.)???Yes
Interoperability compatibility
Client / XEPWeb Connection MechanismsConnection 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)

IM Compliance Suite

The IM compliance level includes all features from the core compliance category as well as all features in this suite.

Core client

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/AActiveActiveStableStableStableStable
AstraChat??Yes?Yes??
BeagleIM???????
BitlBee????Yes??
Bombus??Yes?Yes??
ChatSecure??????Yes
Cisco Jabber??Yes?Yes??
ConversationsYesYesPartialYesYesYesYes
Converse.jsYesYesYesYesYesYesYes
DinoYesYesPartial [Note-dino 1] YesPartialPartial [Note-dino 2] Yes
GajimYesYesYesYesYesYesYes
JSXCYesYesYesYesYes?Yes
KaidanYes?YesYes??Yes
Kopete
Miranda NG?YesYesYesYesYesYes
Monal IMYesYesYesYesYesYesYes
MovimYesYesYesYesYes?Yes
PidginYesYesYesPlug-In [61] YesYesPlug-In [62]
ProfanityYesYes?YesYesYesYes
Psi+??YesYesYesYesYes
Salut a toi??Yes?YesYesYes
SiskinIM???????
Spark???YesYes??
Tkabber??Yes????
Yaxim???YesYesYesYes
Xabber??YesYesPartial?Yes
slixmpp (lib.)Yes?YesYesPartialYesYes
QXmpp (lib.)?YesYesYesYesYesYes
aioxmpp (lib.)Yes??YesYesYesYes
Tigase swift (lib.)Yes?YesYesYesYesYes
XMPPframerwork (lib.)??YesYesYes?Yes
Interoperability compatibility
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)

Advanced client

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)
StableDeferredActiveStableDeprecatedStableStableStableActive
AstraChat??YesYes?????
BeagleIM?????Yes???
BitlBee?????????
Bombus??Yes?Yes????
ChatSecure????YesYes???
Cisco Jabber?????????
conversationsYesYesPartialYesYesYes?YesYes
Converse.js????YesYes???
DinoYesYesDeprecated [Note-dino 3] YesYesPartial [Note-dino 4] YesYesYes
gajimYesYesYesYesYesYes??Yes
JSXC??Yes?YesYes???
Kaidan??Yes??Yes???
Kopete
Miranda NG??Yes?YesYes???
Monal IMYes?YesYesYesYesYesYesYes
MovimYes?Yes?YesYesYes??
PidginYes?YesYes?????
Profanity???YesYes???
Psi+Yes?Yes?Yes????
Salut a toi??Yes?YesYes???
SiskinIM?????????
Spark?????????
Tkabber????Yes????
YaximIn Development?In Development??Yes?Yes?
Xabber??YesYesYesYes???
slixmpp (lib.)Yes?YesYesYesYes??Yes
QXmpp (lib.)??Yes?YesYes???
aioxmpp (lib.)Yes??YesYes????
Tigase swift (lib.)Yes?Yes??YesYes??
XMPPframerwork (lib.)??Yes??Yes??Yes
Interoperability compatibility
Client / XEPUser 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)

Advanced client (cont.)

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)
ActiveStableStableFinalStableDeferredStable
AstraChat?YesYesYes???
BeagleIM????Yes??
BitlBee???Yes???
BombusYes?YesYes???
ChatSecure??YesYes???
Cisco Jabber???????
conversationsYesYesYesYesYesYesYes
Converse.js?YesYesYesYes??
DinoYesYesYesYesYesPartialYes
gajimYesYesYesYesYesYesYes
JSXCYes?YesYes?Yes?
Kaidan???Partial???
Kopete
Miranda NGYesYesPartialYes???
Monal IM?YesYesYesYesYesYes
MovimYes?YesYesYes??
Pidgin???Yes???
Profanity??YesYesYesYes?
Psi+YesYesYesYesYesYes?
Salut a toiYes??Yes?YesYes
SiskinIM????Yes??
Spark???Yes???
TkabberYes??Yes???
Yaxim?YesYes?Yes??
Xabber?YesYesYes???
slixmpp (lib.)YesYesYesYesYes??
QXmpp (lib.)?YesYesYesYes??
aioxmpp (lib.)YesYesYes?Yes??
Tigase swift (lib.)?YesYes????
XMPPframerwork (lib.)??YesYesYes??
Interoperability compatibility
Client / XEPPrivate 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)
FinalActiveStableDeferredExperimentalStableDeferredproposedproposed
AstraChat?????????
BeagleIM???????Yes?
BitlBee?????????
BombusYes?Yes??????
ChatSecureYes????????
Cisco Jabber??Yes??????
conversations????YesYes???
Converse.jsYes?Yes??Yes?YesYes
DinoYes?Partial [Note-dino 5] ??Partial???
gajimYesYesPartial [Note-gajim 2] ?YesYes?YesYes
JSXC?????????
KaidanYes????????
Kopete
Miranda NGYes?Yes??????
Monal IMYes?Yes?Yes????
MovimYesYes?Yes?Partial?Yes?
PidginYes?Yes??????
ProfanityYesYes??Yes????
Psi+YesYesYesYes?????
Salut a toiYes??????
SiskinIM???????Yes?
Spark?????????
TkabberYes?Yes??????
YaximYes????Yes???
Xabber?????????
slixmpp (lib.)Yes?Yes????YesYes
QXmpp (lib.)Yes?Yes??????
aioxmpp (lib.)Yes?Yes??????
Tigase swift (lib.)Yes????????
XMPPframerwork (lib.)??Yes??????
Interoperability compatibility
Client / XEP statusIn-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)

Mobile Compliance Suite

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]
ActiveDeferredActive
AstraChat???
BeagleIM???
BitlBee???
Bombus???
ChatSecureYesYes?
Cisco Jabber???
ConversationsYesYes [Note-conversations 1] ?
converse.jsYesYes?
Dino???
Gajim???
JSXC???
KaidanYes??
Kopete
Miranda NGYes??
Monal IMYesYesYes
Movim???
Pidgin???
Profanity???
Psi+???
Salut a toi???
SiskinIM???
Spark???
Tkabber???
YaximYes??
Xabber???
slixmpp (lib.)Yes??
QXmpp (lib.)YesYes?
aioxmpp (lib.)???
Tigase swift (lib.)?Yes?
XMPPframerwork (lib.)?Yes?
Interoperability compatibility
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]

A/V Calling Compliance Suite

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.

Core client

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)
StableExperimentalStableStableDeferred
AstraChat??Yes??
BeagleIM?Yes??Yes
BitlBee?????
Bombus?????
ChatSecure?????
Cisco Jabber?????
ConversationsYesYesYesYesYes
Converse.js??YesYesYes
DinoPartialYesPartialYesPartial
Gajim?????
JSXCYes????
Kaidan?????
Kopete
Miranda NG??Yes?
Monal IM????Planned
Movim?Yes??Yes
PidginYes?Yes??
Profanity?????
Psi+Yes?YesYesYes
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
Client / XEPJingle 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)

Advanced client

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)
StableStableStableStable
AstraChat????
BeagleIM????
BitlBee????
Bombus????
ChatSecure????
Cisco Jabber????
ConversationsYesYesYesYes
Converse.js????
DinoPartialPartial??
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
Client / XEPJingle 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)

Future Development

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)
DeferredDeferredDeferredproposedproposedproposedDeferredExperimentalDeferredExperimental
AstraChat??????????
BeagleIM??????YesYes??
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 IMwon't fixwon't fixwon't fix?Partial?Partial [Note-monalim 1] YesYesYes
Movim??????Yes?Partial?
Pidgin??????????
Profanity??????????
Psi+????????Partial?
Salut a toi??????????
SiskinIM??????YesYes??
Spark??????????
Tkabber??????????
Yaxim????Yes?????
Xabber??????Yes???
slixmpp (lib.)??????YesPartialYes?
QXxmpp (lib.)???????Partial [Note-qxmpp 1] ??
aioxmpp (lib.)????Yes?????
Tigase swift (lib.)??????????
XMPPframerwork (lib.)??????Yes???
Interoperability compatibility
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)

Future Development (cont.)

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)
ExperimentalDeferredDeferredDeprecatedDeferredDeferredExperimental
AstraChat???????
BeagleIM???????
BitlBee???????
Bombus???????
ChatSecureYes??????
Cisco Jabber???????
ConversationsYesYes?Yes???
Coverse.jsYes?Yes????
DinoYesYes?????
GajimPlug-In [63] ?YesYesYesYes?
JSXC???????
Kaidanplanned??????
Kopete
Miranda NGYes??????
Monal IMYesYesYes??Yes?
Movim???????
PidginPlug-in [64] ?Dropped [65] ????
ProfanityYes?Yes????
Psi+Yes??????
Salut a toi???????
SiskinIM???????
Spark???????
Tkabber???????
YaximIn Development??????
XabberYes??????
slixmpp (lib.)???????
QXmpp (lib.)???????
aioxmpp (lib.)?????Yes?
Tigase swift (lib.)Plug-In??????
XMPPframerwork (lib.)Yes??????
Interoperability compatibility
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)

Statistics

Compliance status of XMPP clients, with RFCs/XEPs

ClientCoreWebIM/CoreIM/AdvancedIM/FurtherMobileA/V CallingFutureOverall
AstraChat????
beagle IM????
BitlBee??????
Bombus????
ChatSecure???
Cisco Jabber????
Conversations?
converse.js
Dino??
Gajim??
JSXC???
Kaidan???
Kopete????????
Miranda IM?
Monal IM?
Movim?
Pidgin??
Profanity???
Psi+??
Salut à Toi????
SiskinIM????
Spark??????
Tkabber????
yaxim??
Xabber????
slixmpp (lib.)?
QXmpp (lib.)?
aioxmpp (lib.)???
Tigase swift (lib.)??
XMPPframerwork (lib.)??
ClientCoreWebIM/CoreIM/AdvancedIM/FurtherMobileA/V CallingFutureOverall

See also

Related Research Articles

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.

<span class="mw-page-title-main">Instant messaging</span> Form of communication over the Internet

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.

<span class="mw-page-title-main">Pidgin (software)</span> Open-source multi-platform instant messaging client

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.

<span class="mw-page-title-main">XMPP</span> Communications protocol for message-oriented middleware

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.

<span class="mw-page-title-main">Adium</span>

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.

<span class="mw-page-title-main">Psi (instant messaging client)</span>

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.

<span class="mw-page-title-main">BitlBee</span>

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.

<span class="mw-page-title-main">Gajim</span> Free instant messaging client for the XMPP protocol

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.

<span class="mw-page-title-main">Skype for Business Server</span> Real-time communications server software

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.

<span class="mw-page-title-main">Skype for Business</span> Enterprise instant messaging and video conferencing software by Microsoft

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.

<span class="mw-page-title-main">Jingle (protocol)</span> Peer-to-peer communications protocol

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.

<span class="mw-page-title-main">Empathy (software)</span> Open source instant messaging and VoIP client

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.

<span class="mw-page-title-main">Tox (protocol)</span> Distributed protocol for telephony and instant messaging

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.

<span class="mw-page-title-main">OMEMO</span> Extension to XMPP for multi-client end-to-end encryption

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.

<span class="mw-page-title-main">Xabber</span>

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.

<span class="mw-page-title-main">Conversations (software)</span> Free software instant messaging client for the XMPP protocol

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).

References

  1. "Marktübersicht selbst gehostete Messenger Geschützter Raum". Heise magazine. Retrieved 15 April 2022.
  2. "Estudiantes crean red para comunidad sin acceso a internet en Barranquilla". El tiempo. Retrieved 15 April 2022.
  3. "XMPP client for macOS based on TigaseSwift XMPP library". MacosRepo. Retrieved 8 April 2022.
  4. "Instant Messaging (IM) Market Growth 2031" . Retrieved 14 April 2022.
  5. "XMPP Features". Conversations.
  6. "Conversations: Open-Source-Messenger mit Audio- und Videoanruf". heise online. heise.de. Retrieved 15 April 2022.
  7. "Converse.js: An open-source XMPP client for building in-browser messaging apps". medevel. Retrieved 21 Feb 2022.
  8. "Dino 0.3 lançado com suporte a videochamadas, conferências, e mais". blog do edivaldo. Retrieved 15 April 2022.
  9. "supported XEPs". Gajim.
  10. "The 10 Best Instant Messaging Apps for Linux". MakeUseOf.
  11. "Interoperable Chat in Your Web Browser: JSXC 3.0 released".
  12. "User Privacy at The Heart of New Instant Messaging Services Developed with The Support of EU's Next Generation Internet Initiative".
  13. "Po 7 latach zainstalowałem komunikator Miranda IM - odżyły wspomnienia".
  14. "Monal as XMPP Client for Apple iPhone" . Retrieved January 4, 2019.
  15. "Deciphering the jibber jabber: getting started with your own self-hosted XMPP server".
  16. "The Evolution of Encrypted IM Messenging Platforms – The Rise and Future of the OMEMO Protocol – An Analysis".
  17. "El cliente XMPP gratuito yaxim celebra su décimo aniversario". linuxadictos.
  18. "Ya fue liberada la nueva versión de Kaidan 0.5.0, un cliente XMPP open source". desdelinux.net.
  19. "XMPP Clients". XMPP foundation.
  20. BitlBee Public instances
  21. "Libervia frontends".
  22. "Supported XMPP Protocols". AstraChat.
  23. "BeagleIM changelog". github.
  24. "BitlBee changelog". github.
  25. "Список стандартов XMPP, поддерживаемых в Bombus".
  26. "ChatSecure v4.3.0 - OMEMO Group Chat Preview".
  27. "ChatSecure v4.2.0 - Group Chat".
  28. "ChatSecure v4.1.0 - Media Messaging".
  29. "ChatSecure iOS v3.2.3 - XMPP Push".
  30. "ChatSecure v2.2 Released".
  31. "ChatSecure v1.4 Released".
  32. "Cisco jabber XMPP Standards Compliance" (PDF).
  33. "Conversations DOAP File". Conversations.
  34. "Converse.js supported XMPP Extensions". github.
  35. "Implemented XEPs". Dino.
  36. "Dino DOAP file".
  37. "Gajim DOAP file". Gajim.
  38. "Supported Protocols". JSXC.
  39. "Kaidan list XEP supported in DOAP file". kde.
  40. "Kopete XEPs". github.
  41. "Supported XEPs". Miranda NG.
  42. "Monal IM DOAP file". github.
  43. "Movim DOAP file".
  44. "supported XEPs". Pidgin. Retrieved 17 April 2022.
  45. "Profanity Supported XEPs".
  46. "Profanity DOAP file".
  47. "Psi Supported XEPs".
  48. "Salut à Toi's specifications". Archived from the original on 2 June 2017.
  49. "SiskinIM changelogs". github.
  50. "Spark XEPs".
  51. "Tkabber Protocol support".
  52. "Yaxim DOAP file".
  53. "Xabber Extension Protocols Relations.drawio". Google Drive. Xabber. Retrieved 17 April 2022.
  54. "PNG version". imgur. Retrieved 17 April 2022.
  55. "Xabber F-droid description XEP support".
  56. "slixmpp DOAP file".
  57. "qxmpp XEP support".
  58. "aioxmpp XEP support".
  59. "Tigase swift XEP support".
  60. "XMPPframerwork XEP support".
  61. "Experimental XEP-0280: Message Carbons plugin for libpurple (Pidgin, Finch, etc.)". github.
  62. "HTTP File Upload plugin for libpurple (XMPP Protocol)". github.
  63. "XEP-0384: OMEMO Encryption - Gajim". gitlab.
  64. "XEP-0384: OMEMO Encryption for libpurple". github.
  65. "XEP-0374: OpenPGP for XMPP Instant Messaging - pidgin".

Notes

    1. 1 2 (only recommended for legacy bookmarks support)
    2. 1 2 should be supported, but not enabled in default server configurations
    3. 1 2 core client
    4. 1 2 advanced client
    5. 1 2 Further specifications of note, which are not required for compliance.
    1. Only available in the version distributed over Google Play
    1. Only DNS method.
    2. Support for URLs in messages
    3. displayed' markers are supported, but 'acknowledged' markers are not.
    1. Only for viewing avatars
    2. No support for sending
    3. Only to fetch Avatars from other users
    4. Not for MUCs
    5. For file transfers using XEP-0363
    6. Only for outgoing messages
    1. XEP-0333: Chat Markers (received markers won't ever be implemented, use XEP-0184 instead)
    1. (Only basic IQ implemented)