Messenger Comparison Table

This is not intended to be an extremely comprehensive list, but enough to get a grasp on the situation.

The only client for now that we recommend is Conversations, a top notch XMPP client, fully supports the OMEMO XEP, is easy on the battery, and doesn't force you into a walled garden. It is not the easiest thing getting your friends and family to switch apps, so at the very least any apps with end-to-end encryption (E2EE) support should always be preferred over apps without.
Remember to always verify your partner's E2EE keys when possible, as it is arguably useless otherwise.

For a much larger list of messengers, albeit in German, see this overview and their "Why Not?" list.

Last updated: 2023/09/17

NameFOSS ClientNon-Free DependenciesFOSS ServerProtocolFederatedDecentralizedEncryptionE2EE by DefaultE2EE uses PFSDesktop ClientWeb ClientFile SharingVoice CallingVideo CallingMulti-Device SupportOffline MessagingPhone Number
ConversationsGPLv3F-Droid: No, Play: YesYes: prosody/ejabberdXMPPYesYesTLS + OMEMO E2EEIn private chatsYesYesYesYesYesYesYesYesNot needed
ElementApacheF-Droid: No, Play: YesYes: synapseMatrixYesYesTLS + Olm/Megolm E2EEIn private chats1:1 chats only?YesYesYesYesYesYesYesNot needed
SignalGPLv3Play/Website: Yes, GMSCode over wallCustomNoNoTLS + Signal E2EEAlwaysYesYesNoYesYesYesWith PhoneYesAs identifier
SimpleXAGPLv3NoYes: SimpleXMQ SMPCustomYesYesCustom E2EEAlwaysYesYesNoYesYesYesWIPYesNot needed
Jami/RingGPLv3F-Droid: No, Play: YesYes: opendhtCustomN/AYesTLS + Custom E2EEAlwaysUnknownYesNoYesYesYesYesNoNot needed
SessionGPLv3F-Droid: No, Play: YesUnclearCustomN/AYesCustom E2EEIn private chatsNoYesNoYesWIPWIPYesYesNot needed
Delta ChatGPLv3F-Droid: No, Play: YesN/AE-MailYesYesTLS + OpenPGP E2EETo contacts with AutoCryptNoYesYesYesNoNoYesYesNot needed
BriarGPLv3NoN/ACustomN/AYesCustom E2EEAlwaysYesWIPNoImages OnlyNoNoNovia Mailbox on 2nd deviceNot needed
Silence (deprecated)GPLv3NoN/ASMSYesYesSignal E2EETo contacts with SilenceYesNoNoImages OnlyNoNoN/AMaybeAs identifier
WireGPLv3F-Droid: No, Play: YesYesCustomNoNoTLS + Custom E2EEAlwaysYesYesYesYesYesYesYesYesNot needed
ThreemaAGPLv3F-Droid*: No, Play: YesNoCustomNoNoTLS + Custom E2EEAlwaysYesYesYesYesYesYesWith PhoneYesNot needed
TelegramGPLv2F-Droid: No, Play: YesNoCustomNoNoTLS + Custom E2EENoPer 100/msgs in secret chatsYesYesYesYesYesYesYesAs identifier
WhatsAppNoYesNoCustomNoNoTLS + Signal E2EEAlwaysYesYesYesYesYesYesWith PhoneYesAs identifier
Facebook MessengerNoYesNoCustomNoNoTLS + Signal E2EENoYesNoYesYesYesYesYesYesFor signup
Google ChatNoYesNoCustomNoNoTLSNoN/ANoYesYesYesYesYesYesFor signup
SkypeNoYesNoCustomNoNoTLS + Custom E2EENoUnknownYesYesYesYesYesYesYesFor signup


  • Offline messaging is the ability for a party to send a message to an offline party, go offline themself, and the other party to later receive the message when back online while the sending party was still offline.