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 see these overviews by Kuketz', by @eylenburg, or by *IM*, and their "Why Not?" list.

Last updated: 2024/04/15

NameFOSS ClientNon-Free DependenciesFOSS ServerProtocolFederatedDecentralizedEncryptionE2EE by DefaultE2EE uses PFSE2EE is Quantum ResistantDesktop ClientWeb ClientFile SharingVoice CallingVideo CallingMulti-Device SupportOffline MessagingPhone Number
ConversationsGPLv3F-Droid: No, Play: YesYes: prosody/ejabberdXMPPYesYesTLS + OMEMO E2EEIn private chatsYesNoYesYesYesYesYesYesYesNot needed
ElementApacheF-Droid: No, Play: YesYes: synapseMatrixYesYesTLS + Olm/Megolm E2EEIn private chats1:1 chats only?NoYesYesYesYesYesYesYesNot needed
SignalGPLv3Play/Website: Yes, GMSCode over wallCustomNoNoTLS + Signal E2EEAlwaysYesYesYesNoYesYesYesWith PhoneYesAs identifier
SimpleXAGPLv3NoYes: SimpleXMQ SMPCustomYesYesCustom E2EEAlwaysYesYesYesNoYesYesYesWIPYesNot needed
Jami/RingGPLv3F-Droid: No, Play: YesYes: opendhtCustomN/AYesTLS + Custom E2EEAlwaysUnknownNoYesNoYesYesYesYesNoNot needed
SessionGPLv3F-Droid: No, Play: YesUnclearCustomN/AYesCustom E2EEIn private chatsNoNoYesNoYesWIPWIPYesYesNot needed
Delta ChatGPLv3F-Droid: No, Play: YesN/AE-MailYesYesTLS + OpenPGP E2EETo contacts with AutoCryptNoNoYesYesYesNoNoYesYesNot needed
BriarGPLv3NoN/ACustomN/AYesCustom E2EEAlwaysYesNoWIPNoImages OnlyNoNoNovia Mailbox on 2nd deviceNot needed
Silence (deprecated)GPLv3NoN/ASMSYesYesSignal E2EETo contacts with SilenceYesNoNoNoImages OnlyNoNoN/AMaybeAs identifier
WireGPLv3F-Droid: No, Play: YesYesCustomNoNoTLS + Custom E2EEAlwaysYesNoYesYesYesYesYesYesYesNot needed
ThreemaAGPLv3F-Droid*: No, Play: YesNoCustomNoNoTLS + Custom E2EEAlwaysYesNoYesYesYesYesYesWith PhoneYesNot needed
TelegramGPLv2F-Droid: No, Play: YesNoCustomNoNoTLS + Custom E2EENoPer 100/msgs in secret chatsNoYesYesYesYesYesYesYesAs identifier
WhatsAppNoYesNoCustomNoNoTLS + Signal E2EEAlwaysYesNoYesYesYesYesYesWith PhoneYesAs identifier
Facebook MessengerNoYesNoCustomNoNoTLS + Signal E2EEFor 1:1YesNoNoYesYesYesYesYesYesFor signup
Google ChatNoYesNoCustomNoNoTLSNoN/AN/ANoYesYesYesYesYesYesFor signup
SkypeNoYesNoCustomNoNoTLS + Custom E2EENoUnknownNoYesYesYesYesYesYesYesFor signup

Criteria:

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