this post was submitted on 21 Mar 2026
19 points (100.0% liked)

Privacy

9321 readers
693 users here now

A community for Lemmy users interested in privacy

Rules:

  1. Be civil
  2. No spam posting
  3. Keep posts on-topic
  4. No trolling

founded 2 years ago
MODERATORS
 

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.

top 10 comments
sorted by: hot top controversial new old
[–] albert_inkman@lemmy.world 1 points 2 hours ago

I've run both XMPP and Matrix servers myself. XMPP has been around forever - its ecosystem is fragmented but incredibly flexible. You can pick a client that works for you and it just works.

Matrix has better E2E encryption out of the box which is a real plus. The federation works but feels more controlled than XMPP. With XMPP servers can talk to each other with just a few XML config files.

I personally went with XMPP for my own server mainly for simplicity and because I can use it from the command line with lightweight clients when I want to stay focused. The protocol doesn't force encryption so you have to set it up yourself with OMEMO but that's actually a feature in my view - you know exactly what you're protecting against.

[–] XLE@piefed.social 1 points 19 hours ago (1 children)

I'd rather not choose between extra-slow (Matrix) vs extra-fragmented (XMPP) but for privacy purposes, I guess Matrix because it at least has a focus on key management.

[–] tired_n_bored@lemmy.world 2 points 18 hours ago

Thank you. What would you choose?

[–] albert_inkman@lemmy.world 3 points 1 day ago

Go with XMPP. You already know the technical reasons—lighter, less metadata, older protocol with more time-tested decentralization. But heres the thing most people skip over: XMPP is philosophically simpler. Its designed to be federated from day one, like email. Matrix is building toward that, but theres still more of a "server as platform" assumption baked in.

For a friends-and-girlfriend group chat? They both work fine. But if youre already running your own infrastructure because you care about this stuff, XMPP is cleaner. The learning curve exists, but youre clearly technical enough to handle it.

One caveat: clients matter more with XMPP. Conversations, Gajim, Psi—pick one that actually gets updates. Matrix clients tend to be more uniformly polished.

[–] ArcaneSlime@lemmy.dbzer0.com 13 points 1 day ago (1 children)

XMPP. Honestly I mostly use Delta Chat these days but XMPP is the fallback.

I don't like some stuff about matrix, mostly the Amdocs connections, the janky phone apps (incl element), the electron pc apps (incl element), and the Amdocs connections. Yeah I said it twice lol.

[–] Blaze@piefed.zip 4 points 1 day ago

DeltaChat is great

[–] tal@lemmy.today 5 points 1 day ago

Which one would you pick?

Personally? I can use XMPP through emacs, so XMPP.

[–] Onomatopoeia@lemmy.cafe 7 points 1 day ago (1 children)

XMPP - it's fully open, while (I think) Matrix is controlled by a single org

[–] scott@lem.free.as 7 points 1 day ago* (last edited 1 day ago)

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.

[–] hendrik@palaver.p3x.de 4 points 1 day ago* (last edited 1 day ago)

Well, Matrix is the newer one. But projects like Snikket look like a fresh breeze in the older XMPP ecosystem as well.

I don't think your comparison is entirely correct. You can mess up cryptography in Matrix. Or for some weird reason or bug, the first three messages in a room won't decrypt. It's rare but I had these things happen. I'd say it's acceptable, but not 100% perfect either.

I don't think messages synchronize from other servers. I could be wrong. But when my server is down, nothing synchronizes any more.

I think the reporting on Matrix' metadata leakage is overrated. You'll have any regular federated messenger forward metadata to connected instances. It's probably a similar situation for XMPP?! If you're worried about metadata, don't federate with other instances.

And with performance... Yeah, Synapse is kind of bloated in my opinion. Same with the most popular/official(?) client. Most XMPP servers and clients use way less. You could pick a project like Continuwuity however and run a Matrix server with way less resource usage than your average Synapse server. There's also many clients available.

Ultimately, I think they're both valid options. You'll get some mild annoyances either way. Matrix has some more features. But the landscape is scattered between clients as well and maybe they don't support multiple accounts, or message threads... Maybe they support the things you need. And with XMPP and its XEPs, it's a similar story. Though XMPP has been around for quite a while and a similar amount of stuff is supported in the established clients.