Matrix: Difference between revisions

From Revolt Wiki
Add slogan
Added new clients and servers, updated client feature data, added Stoat to apps with bridges
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox Product|image=Matrix Logo.svg|website=https://matrix.org/|languages=Python, JavaScript, TypeScript, Go, Rust|repository=https://github.com/matrix-org|slogan="An open network for secure, decentralised communication"}}
{{Infobox Product|image=Matrix Logo.svg|website=https://matrix.org/|languages=Python, JavaScript, TypeScript, Go, Rust|repository=https://github.com/matrix-org|slogan="An open network for secure, decentralised communication"}}
Matrix is a federated protocol that supports end-to-end encryption.
Matrix is a federated protocol that supports end-to-end encryption. It was founded around September 2014 and was being funded by its parent company, Amdocs, up until October 2017. Matrix's manifest states that they believe people should have full control over their communication, they shouldn't be "locked into centralised communication silos...". The team behind Matrix also holds the point that having the ability to have conversations completely private and secure is a basic human right, and that it all needs to be free and open.


Below is a list of Matrix clients.
== Clients ==
 
To be able to communicate through Matrix, the user needs a client. The official client developed by the team behind Matrix is called [[Element]]. According to the description on their website, the client has all the notable features of the protocol, except for multi-account support. Below is a list of most Matrix clients known for now.


{| class="wikitable sortable"
{| class="wikitable sortable"
!Name
!Name
!Protocol
!Protocol Type
!Lifecycle
!Lifecycle
!Active
!Active
Line 18: Line 18:
|-
|-
|[[Element]]
|[[Element]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 30: Line 28:
|-
|-
|[[Element X]]
|[[Element X]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 37: Line 33:
|{{Na}}
|{{Na}}
|{{Na}}
|{{Na}}
|{{Ya}}
|
|
|-
|[[Element Classic]]
|Mature
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|
|
Line 42: Line 48:
|-
|-
|[[Cinny]]
|[[Cinny]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 54: Line 58:
|-
|-
|[[FluffyChat]]
|[[FluffyChat]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 66: Line 68:
|-
|-
|[[SchildiChat]]
|[[SchildiChat]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 78: Line 78:
|-
|-
|[[SchildiChat Next]]
|[[SchildiChat Next]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Partial}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|Kotlin
|Kotlin
|
|-
|[[Quadrix]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|TypeScript
|
|
|-
|-
|[[Tammy]]
|[[Tammy]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 113: Line 97:
|
|
|-
|-
|[[Extera]]
|[[Faraday]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|Kotlin
|TypeScript
|
|
|-
|-
|[[chatrix]]
|[[chatrix]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 133: Line 113:
|{{Na}}
|{{Na}}
|{{Na}}
|{{Na}}
|{{Ya}}
|{{Na}}
|TypeScript
|TypeScript
|
|
|-
|-
|[[Ement.el]]
|[[Ement.el]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 150: Line 128:
|-
|-
|[[matrix-commander]]
|[[matrix-commander]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 162: Line 138:
|-
|-
|[[matrix-commander-rs]]
|[[matrix-commander-rs]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 171: Line 145:
|{{Ya}}
|{{Ya}}
|Rust
|Rust
|
|-
|[[Hydrogen]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|TypeScript
|
|
|-
|-
|[[NeoChat]]
|[[NeoChat]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 198: Line 158:
|-
|-
|[[Nheko]]
|[[Nheko]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 210: Line 168:
|-
|-
|[[Quaternion]]
|[[Quaternion]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 220: Line 176:
|C++
|C++
|Qt5
|Qt5
|-
|[[Extera Next]]
|Beta
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|Dart
|Flutter
|-
|-
|[[kazv]]
|[[kazv]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 234: Line 198:
|-
|-
|[[Fractal]]
|[[Fractal]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 246: Line 208:
|-
|-
|[[chatty]]
|[[chatty]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 255: Line 215:
|{{Ya}}
|{{Ya}}
|C
|C
|
|-
|[[polycule]]
|Beta
|{{Ya}}
|{{Ya}}
|{{Partial}}
|{{Na}}
|{{Ya}}
|Dart
|
|
|-
|-
|[[iamb]]
|[[iamb]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 270: Line 238:
|-
|-
|[[gomuks]]
|[[gomuks]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 279: Line 245:
|{{Ya}}
|{{Ya}}
|Go
|Go
|
|-
|[[Neoment]]
|Beta
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Ya}}
|{{Na}}
|Lua
|
|
|-
|-
|[[Commet]]
|[[Commet]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Partial}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
Line 294: Line 268:
|-
|-
|[[gotktrix]]
|[[gotktrix]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
Line 306: Line 278:
|-
|-
|[[mnotify]]
|[[mnotify]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
Line 317: Line 287:
|
|
|-
|-
|[[chooj]]
|[[Watch The Matrix]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
Line 326: Line 294:
|{{Na}}
|{{Na}}
|{{Na}}
|{{Na}}
|TypeScript
|Swift
|
|
|-
|-
|[[Watch The Matrix]]
|[[Moment]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|{{Na}}
|QML
|
|-
|[[Mages]]
|Alpha
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|{{Ya}}
|Kotlin
|Compose
|-
|[[Mactrix]]
|Alpha
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|{{Ya}}
|Swift
|Swift
|SwiftUI
|-
|[[MinesTRIX]]
|
|
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|Dart
|Flutter
|-
|-
|[[Commune]]
|[[Commune]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|
|
|{{Ya}}
|{{Ya}}
Line 352: Line 346:
|JavaScript
|JavaScript
|Svelte
|Svelte
|-
|[[Quadrix]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|TypeScript
|
|-
|[[chooj]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|TypeScript
|
|-
|[[Mirage]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Ya}}
|{{Na}}
|QML
|
|-
|[[Extera]]
|
|{{Na}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|TypeScript
|
|-
|-
|[[Tensor]]
|[[Tensor]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|
|
|{{Na}}
|{{Na}}
Line 363: Line 395:
|{{Na}}
|{{Na}}
|C++
|C++
|
|-
|[[Hydrogen]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|TypeScript
|
|
|-
|-
|[[Syphon]]
|[[Syphon]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|
|
|{{Na}}
|{{Na}}
Line 376: Line 416:
|Dart
|Dart
|Flutter
|Flutter
|-
|[[Spectral]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Ya}}
|{{Na}}
|C++
|
|-
|[[Miitrix]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|C++
|
|}
== Instances ==
Instances are the servers on which the user data is stored. The official Matrix instance is situated at '''matrix.org''', but any user can host their own using server software provided on the website.
== Servers ==
{| class="wikitable sortable"
!Name
!Lifecycle
!Active
!Licence
!Language
|-
|Synapse
|Stable
|{{Ya}}
|AGPL-3.0 or later
|Python
|-
|[https://element.io/server-suite/synapse-pro Synapse Pro]
|Stable
|{{Ya}}
|Element Commercial Licence
|Rust, Python
|-
|continuwunity
|Stable
|{{Ya}}
|Apache-2.0
|Rust
|-
|Tuwunel
|Stable
|{{Ya}}
|Apache-2.0
|Rust
|-
|Conduit
|Beta
|{{Ya}}
|Apache-2.0
|Rust
|-
|Dendrite
|Beta
|{{Ya}}
|AGPL-3.0-only or Element Commercial Licence
|Go
|-
|Telodendria
|Alpha
|{{Ya}}
|MIT
|C
|-
|Construct
|
|{{Na}}
|BSD
|C++
|-
|Transform
|
|{{Na}}
|Apache-2.0
|TypeScript
|-
|Pallium
|
|{{Na}}
|Apache-2.0
|Go
|-
|Matrex
|
|{{Na}}
|MIT
|Elexir
|-
|Maelstrom
|
|{{Na}}
|Apache-2.0 or MIT
|Rust
|-
|Dendron
|
|{{Na}}
|Apache-2.0
|Go
|-
|Ligase
|
|{{Na}}
|AGPL-3.0-only
|Go
|-
|jSynapse
|
|{{Na}}
|Apache-2.0
|Java
|-
|conduwuit
|
|{{Na}}
|Apache-2.0
|Rust
|-
|mxhsd
|
|{{Na}}
|AGPL-3.0 or later
|Java
|-
|bullettime
|
|{{Na}}
|Apache-2.0
|Go
|-
|}
|}
== Integrations ==
The Matrix protocol has a system of bots and widgets that add unique features, thus enhancing user experience. Users can browse the available integrations on Matrix's website and install them on their instance by following the instructions from the repository page of the integration.
== Bridges ==
Matrix provides official bridges for XMPP, [[Gitter]], [[Slack]], [[Mattermost]], and IRC. The community provides bridges for the following services:
* [[Discord]]
* Signal
* Telegram
* WhatsApp
* Facebook Messenger
* iMessage
* Google Chat
* LinkedIn
* Instagram
* [[Mumble]]
* Twitter (formerly X)
* Skype
* SMS
* Email
* [[Zulip]]
* GroupMe
* WeChat
* QQ
* KakaoTalk
* Line
* '''Stoat'''

Latest revision as of 15:03, 29 March 2026


Matrix is a federated protocol that supports end-to-end encryption. It was founded around September 2014 and was being funded by its parent company, Amdocs, up until October 2017. Matrix's manifest states that they believe people should have full control over their communication, they shouldn't be "locked into centralised communication silos...". The team behind Matrix also holds the point that having the ability to have conversations completely private and secure is a basic human right, and that it all needs to be free and open.

Clients

To be able to communicate through Matrix, the user needs a client. The official client developed by the team behind Matrix is called Element. According to the description on their website, the client has all the notable features of the protocol, except for multi-account support. Below is a list of most Matrix clients known for now.

Name Lifecycle Active FOSS Voice Spaces E2EE Language Frameworks
Element Mature Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail:
Element X Beta Error creating thumbnail: Error creating thumbnail: No No Error creating thumbnail:
Element Classic Mature Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail:
Cinny Mature Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: Error creating thumbnail: TypeScript
FluffyChat Mature Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Dart
SchildiChat Mature Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Kotlin
SchildiChat Next Beta Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Kotlin
Tammy Mature Error creating thumbnail: Error creating thumbnail: No No Error creating thumbnail: Kotlin
Faraday Mature Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: Error creating thumbnail: Kotlin
chatrix Mature Error creating thumbnail: Error creating thumbnail: No No No TypeScript
Ement.el Mature Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: No Emacs Lisp
matrix-commander Mature Error creating thumbnail: Error creating thumbnail: No No Error creating thumbnail: Python
matrix-commander-rs Mature Error creating thumbnail: Error creating thumbnail: No No Error creating thumbnail: Rust
NeoChat Beta Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: Error creating thumbnail: C++ Qt
Nheko Beta Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: C++ Qt5
Quaternion Beta Error creating thumbnail: Error creating thumbnail: No No No C++ Qt5
Extera Next Beta Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Dart Flutter
kazv Beta Error creating thumbnail: Error creating thumbnail: No No Error creating thumbnail: QML
Fractal Beta Error creating thumbnail: Error creating thumbnail: No No Error creating thumbnail: Rust GTK4
chatty Beta Error creating thumbnail: Error creating thumbnail: No No Error creating thumbnail: C
polycule Beta Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: Dart
iamb Beta Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: Error creating thumbnail: Rust
gomuks Beta Error creating thumbnail: Error creating thumbnail: No No Error creating thumbnail: Go
Neoment Beta Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: No Lua
Commet Alpha Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Dart
gotktrix Alpha Error creating thumbnail: Error creating thumbnail: No No No Go GTK4
mnotify Alpha Error creating thumbnail: Error creating thumbnail: No No No Rust
Watch The Matrix Alpha Error creating thumbnail: Error creating thumbnail: No No No Swift
Moment Alpha Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: No QML
Mages Alpha Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: Error creating thumbnail: Kotlin Compose
Mactrix Alpha Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: Error creating thumbnail: Swift SwiftUI
MinesTRIX Error creating thumbnail: Error creating thumbnail: No No No Dart Flutter
Commune Error creating thumbnail: Error creating thumbnail: No Error creating thumbnail: Error creating thumbnail: JavaScript Svelte
Quadrix No Error creating thumbnail: No No No TypeScript
chooj No Error creating thumbnail: No No No TypeScript
Mirage No Error creating thumbnail: No Error creating thumbnail: No QML
Extera No Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: Error creating thumbnail: TypeScript
Tensor No Error creating thumbnail: No No No C++
Hydrogen No Error creating thumbnail: No No Error creating thumbnail: TypeScript
Syphon No Error creating thumbnail: No No Error creating thumbnail: Dart Flutter
Spectral No Error creating thumbnail: No Error creating thumbnail: No C++
Miitrix No Error creating thumbnail: No No No C++

Instances

Instances are the servers on which the user data is stored. The official Matrix instance is situated at matrix.org, but any user can host their own using server software provided on the website.

Servers

Name Lifecycle Active Licence Language
Synapse Stable Error creating thumbnail: AGPL-3.0 or later Python
Synapse Pro Stable Error creating thumbnail: Element Commercial Licence Rust, Python
continuwunity Stable Error creating thumbnail: Apache-2.0 Rust
Tuwunel Stable Error creating thumbnail: Apache-2.0 Rust
Conduit Beta Error creating thumbnail: Apache-2.0 Rust
Dendrite Beta Error creating thumbnail: AGPL-3.0-only or Element Commercial Licence Go
Telodendria Alpha Error creating thumbnail: MIT C
Construct No BSD C++
Transform No Apache-2.0 TypeScript
Pallium No Apache-2.0 Go
Matrex No MIT Elexir
Maelstrom No Apache-2.0 or MIT Rust
Dendron No Apache-2.0 Go
Ligase No AGPL-3.0-only Go
jSynapse No Apache-2.0 Java
conduwuit No Apache-2.0 Rust
mxhsd No AGPL-3.0 or later Java
bullettime No Apache-2.0 Go

Integrations

The Matrix protocol has a system of bots and widgets that add unique features, thus enhancing user experience. Users can browse the available integrations on Matrix's website and install them on their instance by following the instructions from the repository page of the integration.

Bridges

Matrix provides official bridges for XMPP, Gitter, Slack, Mattermost, and IRC. The community provides bridges for the following services:

  • Discord
  • Signal
  • Telegram
  • WhatsApp
  • Facebook Messenger
  • iMessage
  • Google Chat
  • LinkedIn
  • Instagram
  • Mumble
  • Twitter (formerly X)
  • Skype
  • SMS
  • Email
  • Zulip
  • GroupMe
  • WeChat
  • QQ
  • KakaoTalk
  • Line
  • Stoat