Matrix and Element review — decentralised messaging
Who is this for? Teams and communities that want decentralised communication without depending on one company — or anyone who wants to run their own server. For personal use, Signal is the more practical first choice.
Matrix and Element review
Who is this for? Teams and communities that want decentralised communication without depending on one company — or anyone who wants to run their own server. For personal use, Signal is the more practical first choice.
Matrix is an open communication protocol — not a service, but a standard. Like email is not owned by one company, Matrix is not owned by one server. You choose your own server or host one yourself. Element is the most widely used client for Matrix.
Matrix vs Signal: fundamentally different
Signal is centralised: one company, one server, you have no choice. That works well for most people — but it means Signal as a company is always a single point of failure.
Matrix is federated: like email there are thousands of servers all communicating with each other. A user on matrix.org can chat with someone on a self-hosted server. Nobody controls the entire network.
| Matrix | Signal | |
|---|---|---|
| Protocol | Open, federated | Central (Signal Foundation) |
| Self-hosting | Yes — own server possible | No |
| End-to-end encryption | Yes (Olm/Megolm) | Yes (Signal Protocol) |
| Bridges | Yes — to Signal, WhatsApp, Telegram | No |
| Groups | Large spaces possible | Large groups possible, but less community-oriented than Matrix |
| User-friendliness | Less than Signal | Better |
| Phone number required | No | Yes |
Element — the main client
Element (formerly Riot) is the most widely used Matrix client. Available for:
- Web (app.element.io)
- Windows, macOS, Linux (Electron app)
- Android: Play Store ·
- iOS
Spaces and channels: Matrix organises communication in “rooms” (chats) and “spaces” (collections of rooms — similar to Discord servers or Slack workspaces). Useful for communities and teams.
Threads: Conversation threads within a room, similar to Slack.
Voice and video calls: Built-in via Element Call / MatrixRTC.
End-to-end encryption
Matrix uses the Olm protocol for 1-on-1 encryption and Megolm for group chats. Encryption is optional per room — private conversations are encrypted by default, public rooms are not.
Key management: Matrix encryption requires key verification between devices. When adding a new device, you must export existing keys or verify the new device via an existing device or backup code. This is more work than Signal’s transparent key management.
Bridges — connecting to other platforms
Matrix has bridges to virtually every other messaging platform: Signal, WhatsApp, Telegram, Discord, IRC, Slack. You can chat with contacts on other platforms from one Matrix client.
How it works: A bridge is a bot that forwards messages between Matrix and the other platform. You log in to the other platform via the bridge — messages are translated back and forth.
Caveat: Bridges work outside the official apps of those platforms. WhatsApp and Signal don’t officially tolerate this and can block accounts. Works in practice, but there is always a risk that a platform blocks bridges.
Self-hosting with Synapse or lighter alternatives
The reference implementation of a Matrix server is Synapse (Python). Heavier than needed for small installations. Alternatives:
- conduwuit / successors in that line: lighter Rust servers for personal use or smaller installations.
- Dendrite: Go implementation of Matrix. More actively developed than Conduit for larger installations.
Your own server means: you manage your messages, no dependency on matrix.org.
When to choose Matrix over Signal?
Matrix is better if:
- You want to host a community or team (large groups, channels, moderation)
- You want to run your own server for complete control
- You want bridges to multiple platforms
- Registration without a phone number is a requirement
Signal is better if:
- You want to replace private communication with friends and family (simplicity)
- User-friendliness is a priority
- You don’t want to think about servers and key management
Caveats
Key management is more complex: Cross-signing and key verification are less transparent than with Signal. Beginners sometimes lose messages or can’t read due to key issues.
matrix.org as a default server is not always the best choice: If you do not run your own server, a smaller public server can be better in terms of policy, performance and community.
Metadata on the server: Even with E2E encryption, the server sees who communicates with whom, when, and in which rooms. On your own server that is acceptable — on a public server less so.
Pros and cons
Pros
- Federated protocol — no single company controls the network, self-hosting is possible on a Raspberry Pi or VPS
- No phone number required for registration
- Bridges connect to Signal, WhatsApp, Telegram, Discord, and IRC from one client
- Supports large communities via Spaces, threads, and built-in voice/video calls
- End-to-end encrypted for private rooms using the Olm/Megolm protocol
Cons
- Key management is more complex than Signal — cross-signing and verification issues can leave messages unreadable for beginners
- Server metadata: even with E2E encryption, the server sees who communicates with whom, when, and in which rooms
- Choosing the default public server matters — smaller public servers can be a better fit than matrix.org
- Less user-friendly than Signal for simple private conversations
Conclusion
Matrix is the right tool for communities, teams and people who want full control over their communication infrastructure. For private messages with friends and family, Signal is simpler and better.
See also:
- Signal and Molly review — for private conversations
- Recommended privacy apps — full app overview
- Tailscale guide — making self-hosted services accessible