+++
title = "A comparison of various instant messaging solutions"
date = 2025-09-18
+++

As anyone who knows me could tell you, I am a strong proponent of XMPP/Jabber as the best option for modern instant messaging. In discussing it with other people, I've found myself repeating much of the same information regarding the advantages of XMPP, disadvantages of other options such as Matrix and Signal, etc. Now that I've finally set up my personal website, I figured it was a good opportunity to right everything down in one place so I can simply link to this blog post rather than repeating myself.

## Requirements

* As a privacy and free software enthusiast, a good chat service **must** be FOSS. This immediately rules out many of the most popular options such as WhatsApp, Discord, iMessage, Messenger, etc.
* Must be reasonably self hostable. I say reasonably because Signal advocates will often say you can *technically* self host Signal, if you "simply" modify away the Twilio dependencies, modify the clients to connect to your server and distribute your client to all of your contacts, etc.
* Closely tied to the last point, it must support federation. Self hosting without federation can work, but isn't particularly useful at scale.
* Good mobile support with proper offline message archiving, instant notifications, etc
* Must not require [KYC](https://kycnot.me/about#what-is-kyc) to sign up

Despite these requirements, I will still go into detail about some of the options that were ruled out, in case you aren't as rigid on these requirements as I am.

## Feature Overview

As a tl;dr, here's a comparison table. The table is derived from a now defunct page by the [Divested](https://divested.dev/) team. A mirror can be seen [here](https://divestos-archive.codeberg.page/page/messengers.html).

|  Name | Jabber/XMPP | Matrix | Signal | Discord | WhatsApp | Telegram |
| ----- | ----------- | ------ | ------ | ------- | -------- | -------- |
| FOSS Client(s) | Yes | Yes | Yes | No | No | Yes |
| FOSS Server | Yes | Yes | Code over wall | No | No | No |
| Federated | Yes | Yes | No | No | No | No |
| E2EE | Yes | Yes | Yes | No | Yes | Only 1:1 chats |
| [KYC](https://kycnot.me/about#what-is-kyc) | No | No | Yes | Yes | Yes | Yes |


## In Depth

### Matrix
Matrix is a federated and self hostable chat protocol, very similar conceptually to XMPP.
