What is Matrix?
Matrix is a protocol rather than an application — an open network for secure, decentralised communication, which the project summarises as working like email but for instant messaging. Accounts live on a homeserver: a server bound to a single domain, run by whoever you choose, including yourself. Homeservers federate with each other, so a room can contain people whose accounts are on entirely different servers, and messages are relayed between them rather than held in one company's cloud. Bridges connect Matrix to other platforms such as IRC, Discord or Slack, with users on each side appearing as native users on the other. The specification is open and versioned, currently at v1.19, and anyone can propose changes to it.
Verified product facts
- Type
- communication protocolEditorially reviewed
- Platform
- macOS
- Pricing
- Open sourceDeveloper-stated
- Open source
- Yes
- Developer
- The Matrix.org FoundationDeveloper-stated
- Relationship to Nuanyue
- Third-party product — not published by NuanyueEditorially reviewed
- Licence
- Apache-2.0
- Current version
- v1.19Developer-stated
- Official website
- matrix.org/
Last updated . Facts marked developer-stated come from the developer and are not independently confirmed; editorially reviewed marks a Nuanyue judgement.
Key features
What Matrix does at a glance.
Decentralised
Accounts live on independently operated homeservers rather than one provider's servers
Federation
Between homeservers, so a room can span accounts on different servers
Server-signed message history
With each event signed along with its parents to make tampering detectable
A Client-Server API
Clients use to talk to their own homeserver
A Server-Server (Federation) API
Homeservers use to talk to each other
An Application Service API
For bots and bridges
Bridges to other platforms
Including IRC, Discord and Slack, with users mirrored across as ghosts and puppets
An open, versioned specification
With public governance and a formal change process
An ecosystem of homeservers, clients, SDKs and bridges built by different parties
What you can use Matrix for
- Running your own communications server and controlling where the data lives
- Chatting with people whose accounts are on a different organisation's server
- Connecting an existing IRC, Discord or Slack community into one network
- Building a messaging application on top of an open protocol instead of a proprietary API
Who is Matrix for?
- Organisations that need to own their messaging infrastructure rather than rent it
- Developers building clients, bots or bridges on an open standard
Who is Matrix not for?
- Anyone who wants a finished chat application — Matrix is the network, and you need a client and a homeserver to use it
- People who would rather not think about which server their account lives on
Limitations
- It is a protocol, not a product: using it means choosing a client and a homeserver separately
- The decentralised model means an account belongs to a homeserver whose domain cannot change, so that choice is effectively permanent
- Different clients and servers implement the specification to varying degrees, so behaviour is not identical across the ecosystem
- Self-hosting a homeserver is a real operational commitment, with the reliability of the deployment resting on whoever runs it
Strengths and trade-offs
What Matrix does well, and what to weigh before choosing it. Points marked developer-stated come from the developer’s own material and have not been independently confirmed.
Strengths
- Decentralised by design: accounts live on independently operated homeservers rather than on a single provider's infrastructure.Developer-stated
- Homeservers federate, so a room can be shared by people whose accounts are on entirely different servers.Developer-stated
- History is tamper-resistant: a server signs each event together with the signatures of its parent events before relaying it.Developer-stated
- Bridges connect Matrix to third-party platforms such as IRC, Discord and Slack, with users on each side appearing as native users on the other.Developer-stated
- The specification is open and versioned and can be browsed freely, with public governance and a formal change process anyone can take part in.Developer-stated
- Publishes the specification under the Apache-2.0 licence, so it can be implemented without a licensing negotiation.
- The ecosystem is multi-vendor: homeservers, clients, SDKs and bridges are built by different parties rather than one company.Developer-stated
Trade-offs
- Using Matrix means assembling it: a client and a homeserver are separate choices, and neither is the protocol itself.Derived
- A Matrix ID embeds the homeserver domain, which cannot change over time, so an account is tied to the server it was created on.Developer-stated
- Federation means reliability is distributed: a room's history depends on the servers participating in it, not on one operator's uptime.Derived
- Implementations vary, so a feature available in one client may not be available in another, or may behave differently.Derived
First-use experience
What the app asks of you when you set it up. Only established facts appear here; anything we could not confirm is left out rather than guessed at.
- Installation Derived
- There is nothing to install: Matrix is a protocol. In practice you install a client — Element is the most widely used — and create an account on a homeserver, which can be someone else's or one you run yourself.
- First launch Developer-stated
- The first decision is which homeserver to register on, because the account identifier embeds that server's domain and cannot move afterwards. A typical Matrix ID looks like @username:example.com.
- System integration Developer-stated
- Clients talk only to their own homeserver through the Client-Server API; reaching anyone elsewhere happens through federation between servers, not through the client.
What it is
Matrix is an open network for secure, decentralised communication, and the
project’s own shorthand is the clearest description of it: Matrix works like
email, but for instant messaging. Nobody owns email; you choose a provider, and
your address is tied to it. Matrix works the same way. Accounts live on a
homeserver, which is bound to a single domain that cannot change over time, and a
Matrix ID combines a username with that domain — @username:example.com.
The decentralisation is not decorative. Homeservers communicate with each other using a Server-Server API, so a room can contain people whose accounts are on entirely different servers, and messages are relayed between those servers rather than stored in one company’s cloud. Clients only ever talk to the homeserver of the account they are using, through the Client-Server API.
History you can check
The federation model raises an obvious question — how do participants agree on what happened — and Matrix answers it with signatures. When a server accepts a message it adds it to its own graph of history, linking it to the most recent unlinked objects, and then signs the event together with the signatures of its parent objects to produce a tamper-resistant signature for the history. The server relays the signed event over HTTPS to the other servers in the room, which validate the signature, validate the request’s authentication signature against identity spoofing, and check whether the sender’s historical permissions allowed that message. If the checks pass, the event joins their history too.
Where servers briefly disagree — two people replying at the same moment — Matrix is built to tolerate it: each server keeps its own view, later messages link to both branches, and the histories converge. The project describes this as eventual consistency and integrity of the distributed room history.
Bridges, the specification, and who maintains it
Bridges connect Matrix to platforms that are not Matrix — the project names IRC, Discord and Slack — by creating users that mimic the other side. Those mirrors are called ghosts on the Matrix side and puppets on the third-party side, and bridges can be limited to a namespace to reduce the risk of abuse. Application services are the mechanism: unlike a bot, which has to be invited into every room, an appservice can monitor every unencrypted event within its namespace.
The specification itself is open and versioned, browsable at spec.matrix.org, and published under the Apache-2.0 licence. Governance is public: anyone can propose an amendment through a Matrix Spec Change, which is discussed openly and, once the author believes the concerns are addressed, enters a formal review by the Spec Core Team. The current release is v1.19. The standard is stewarded by the Matrix.org Foundation, funded by memberships and donations rather than by licensing, and the surrounding ecosystem — homeservers, clients, SDKs and bridges — is built by many different parties rather than one company.
What it costs, and what it asks of you
There is nothing to buy. Matrix is a protocol and the specification is free to read and implement, so the cost of using it is whatever your chosen homeserver and client charge — and many are free.
What it asks in exchange is a decision most messengers make for you. There is no single app to install; you install a client and register on a homeserver, and the domain of that homeserver becomes part of your identity permanently. That is the point of the design, and it is also the reason Matrix is not the right choice for someone who simply wants a chat app that works.
Questions about Matrix
What is Matrix?
An open network for secure, decentralised communication. The project's own summary is that Matrix works like email, but for instant messaging: you need a client to write and receive messages, and a provider to give you an account on a homeserver.Developer-stated
Do I need an account on a specific server?
Yes, but you choose it. A homeserver is bound to a single domain that cannot change over time, and your Matrix ID combines a username with that domain, as in @username:example.com. You can run your own homeserver instead of using someone else's.Developer-stated
How do people on different servers talk to each other?
Through federation. Homeservers communicate using the Server-Server API, so when someone sends a message their server signs it, relays it to the other servers participating in the room, and those servers add it to their own copy of the history.Developer-stated
Can Matrix connect to Discord or Slack?
Yes, through bridges. The project describes bridges as connecting a Matrix community to a third-party platform such as IRC, Discord or Slack, with users on those platforms appearing as native users on Matrix and, ideally, the other way round. The users a bridge creates to mimic the other side are called ghosts and puppets.Developer-stated
How does the specification change?
Through Matrix Spec Changes, or MSCs: documents proposing an amendment that are discussed publicly. Once the author believes the concerns raised have been addressed, the Spec Core Team begins a formal review. The specification is open, versioned and browsable, and its governance and decision process are public.Developer-stated
What licence is the Matrix specification under?
The specification repository is published under the Apache-2.0 licence, so it can be implemented without negotiating a licence. Individual homeservers, clients and bridges carry their own licences.
Competitors
Direct competitors: overlapping features aimed at the same users.

Telegram
Cloud messaging with groups, channels and 2 GB file sharing.
Both carry instant messaging across desktop and mobile, but Telegram is a single hosted service while Matrix is a protocol whose accounts live on servers anyone can run.
Discord
Voice, text, and community chat platform.
Both host community conversations, but Discord is one hosted platform with a proprietary API while Matrix is an open specification with multiple competing implementations — and bridges exist to connect the two.
Works well with
Not a replacement — apps commonly used alongside this one.

Element
Open-source Matrix chat client with end-to-end encryption by default.
Matrix is the network and Element is the client most people use to reach it, so the two are encountered together even though one is a specification and the other an application.
Links
Sources
Facts on this page are checked against the sources below. Last updated .
- Matrix — official websiteGrade B
- Matrix — documentationGrade C
- Matrix — source repositoryGrade D




