XMPP and Matrix are very similar protocols that aim to accomplish roughly the same things. I’m looking to install a server on my (quite powerful) home server in order to communicate with my tech-savy friends and my girlfriend.
I would like to use the “perfect” one between the two, but I can’t come to a decision.
Pros of Matrix
- Has more functionalities (albeit as far as I know XMPP can do pretty much the same with its extensions)
- It is JSON-based which helps reduce overhead, not by much, but it’s free lunch
- I can’t set cryptography wrong since it’s built-in
- Messages and conversations can be synchronized from other servers if mine goes down for a short while. Its state seems generally stronger than XMPP’s
Pros of XMPP
- More lightweight
- Less metadata leaks and supports aliases in public MUCs
- It’s more “open” (less centralized)
Which one would you pick? We don’t need to shield ourselves against the CIA but I’m a privacy freak so I’d like to pretend we do. Thank you.


XMPP - it’s fully open, while (I think) Matrix is controlled by a single org
The protocol/spec is maintained by a non-profit, the Matrix Foundation.
Anyone is free to build and maintain servers, clients, bridges, widgets, etc.
The biggest player, Element, of course, is the people behind the original spec but there are plenty of others in the space building compatible but distinct entities.