{
  "@context": [
    "https://schema.org",
    {
      "nuanyue": "https://www.nuanyue.com/ns#"
    }
  ],
  "@type": "SoftwareApplication",
  "@id": "https://www.nuanyue.com/software/matrix/#software",
  "name": "Matrix",
  "description": "Open, decentralised protocol for real-time communication, where accounts live on independently run homeservers that federate with each other, and clients, servers and bridges are built by anyone.",
  "url": "https://www.nuanyue.com/software/matrix/",
  "mainEntityOfPage": "https://www.nuanyue.com/software/matrix/",
  "operatingSystem": "macOS",
  "applicationCategory": "BusinessApplication",
  "publisher": {
    "name": "The Matrix.org Foundation"
  },
  "sameAs": [
    "https://matrix.org/",
    "https://github.com/matrix-org/matrix-spec"
  ],
  "softwareVersion": "v1.19",
  "license": "Apache-2.0",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "nuanyue:record": {
    "schemaVersion": 1,
    "id": "software:matrix",
    "slug": "matrix",
    "name": "Matrix",
    "type": "SoftwareApplication",
    "entityType": "communication protocol",
    "description": "Open, decentralised protocol for real-time communication, where accounts live on independently run homeservers that federate with each other, and clients, servers and bridges are built by anyone.",
    "shortDescription": "Open decentralised protocol for real-time communication.",
    "answer": "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.",
    "page": "https://www.nuanyue.com/software/matrix/",
    "dataUrl": "https://www.nuanyue.com/data/software/matrix.json",
    "categories": [
      "productivity"
    ],
    "tags": [],
    "platform": [
      "macOS"
    ],
    "architecture": [],
    "featured": false,
    "pricing": "open-source",
    "pricingDescription": "There is nothing to buy: Matrix is a protocol and its specification is free to read and implement. The Matrix.org Foundation, which stewards the standard, is funded by memberships and donations rather than by licensing. Individual homeservers and clients are operated and priced by whoever runs them, and many are free.",
    "license": "Apache-2.0",
    "currentVersion": "v1.19",
    "releaseDate": "2026-07-08",
    "openSource": true,
    "website": "https://matrix.org/",
    "documentation": "https://spec.matrix.org/",
    "github": "https://github.com/matrix-org/matrix-spec",
    "developer": {
      "name": "The Matrix.org Foundation"
    },
    "features": [
      "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 that clients use to talk to their own homeserver",
      "A Server-Server (Federation) API that 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"
    ],
    "useCases": [
      "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"
    ],
    "formats": [],
    "integrations": [],
    "pros": [
      {
        "text": "Decentralised by design: accounts live on independently operated homeservers rather than on a single provider's infrastructure.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Homeservers federate, so a room can be shared by people whose accounts are on entirely different servers.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "History is tamper-resistant: a server signs each event together with the signatures of its parent events before relaying it.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "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.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "The specification is open and versioned and can be browsed freely, with public governance and a formal change process anyone can take part in.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Publishes the specification under the Apache-2.0 licence, so it can be implemented without a licensing negotiation.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "The ecosystem is multi-vendor: homeservers, clients, SDKs and bridges are built by different parties rather than one company.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "cons": [
      {
        "text": "Using Matrix means assembling it: a client and a homeserver are separate choices, and neither is the protocol itself.",
        "status": "derived",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "A Matrix ID embeds the homeserver domain, which cannot change over time, so an account is tied to the server it was created on.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Federation means reliability is distributed: a room's history depends on the servers participating in it, not on one operator's uptime.",
        "status": "derived",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Implementations vary, so a feature available in one client may not be available in another, or may behave differently.",
        "status": "derived",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "whoIsItFor": [
      "Organisations that need to own their messaging infrastructure rather than rent it",
      "Developers building clients, bots or bridges on an open standard"
    ],
    "notFor": [
      "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"
    ],
    "firstUse": {
      "installation": {
        "value": "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.",
        "status": "derived",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "firstLaunch": {
        "value": "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.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "systemIntegration": {
        "value": "Clients talk only to their own homeserver through the Client-Server API; reaching anyone elsewhere happens through federation between servers, not through the client.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    },
    "updates": [],
    "faq": [
      {
        "question": "What is Matrix?",
        "answer": "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.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Do I need an account on a specific server?",
        "answer": "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.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "How do people on different servers talk to each other?",
        "answer": "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.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Can Matrix connect to Discord or Slack?",
        "answer": "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.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "How does the specification change?",
        "answer": "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.",
        "status": "developer-stated",
        "source": "documentation",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "What licence is the Matrix specification under?",
        "answer": "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.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "relationships": [
      {
        "target": "element",
        "type": "complements",
        "reason": "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.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "telegram",
        "type": "competitor",
        "reason": "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.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "discord",
        "type": "competitor",
        "reason": "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.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "sources": [
      {
        "id": "matrix:official",
        "type": "official_website",
        "url": "https://matrix.org/",
        "title": "Matrix — official website",
        "trustLevel": "B",
        "accessedAt": null
      },
      {
        "id": "matrix:documentation",
        "type": "documentation",
        "url": "https://spec.matrix.org/",
        "title": "Matrix — documentation",
        "trustLevel": "C",
        "accessedAt": null
      },
      {
        "id": "matrix:repository",
        "type": "github",
        "url": "https://github.com/matrix-org/matrix-spec",
        "title": "Matrix — source repository",
        "trustLevel": "D",
        "accessedAt": null
      }
    ],
    "claims": [
      {
        "id": "software:matrix.isA",
        "subject": "software:matrix",
        "predicate": "isA",
        "value": "communication protocol",
        "status": "editorially-reviewed",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.supportsPlatform",
        "subject": "software:matrix",
        "predicate": "supportsPlatform",
        "value": [
          "macOS"
        ],
        "status": "verified",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.officialWebsite",
        "subject": "software:matrix",
        "predicate": "officialWebsite",
        "value": "https://matrix.org/",
        "status": "verified",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.listedInCategory",
        "subject": "software:matrix",
        "predicate": "listedInCategory",
        "value": [
          "productivity"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.pricingModel",
        "subject": "software:matrix",
        "predicate": "pricingModel",
        "value": "Open source",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.developedBy",
        "subject": "software:matrix",
        "predicate": "developedBy",
        "value": "The Matrix.org Foundation",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.ownership",
        "subject": "software:matrix",
        "predicate": "ownership",
        "value": "Third-party product — not published by Nuanyue",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:matrix.isOpenSource",
        "subject": "software:matrix",
        "predicate": "isOpenSource",
        "value": true,
        "status": "verified",
        "sourceIds": [
          "matrix:repository",
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.licensedUnder",
        "subject": "software:matrix",
        "predicate": "licensedUnder",
        "value": "Apache-2.0",
        "status": "verified",
        "sourceIds": [
          "matrix:repository",
          "matrix:documentation",
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.currentVersion",
        "subject": "software:matrix",
        "predicate": "currentVersion",
        "value": "v1.19",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.hasFeature",
        "subject": "software:matrix",
        "predicate": "hasFeature",
        "value": [
          "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 that clients use to talk to their own homeserver",
          "A Server-Server (Federation) API that 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"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.usedFor",
        "subject": "software:matrix",
        "predicate": "usedFor",
        "value": [
          "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"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.audienceFor",
        "subject": "software:matrix",
        "predicate": "audienceFor",
        "value": [
          "Organisations that need to own their messaging infrastructure rather than rent it",
          "Developers building clients, bots or bridges on an open standard"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.audienceNotFor",
        "subject": "software:matrix",
        "predicate": "audienceNotFor",
        "value": [
          "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"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:matrix.limitation",
        "subject": "software:matrix",
        "predicate": "limitation",
        "value": [
          "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"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:matrix.advantage.0",
        "subject": "software:matrix",
        "predicate": "advantage",
        "value": "Decentralised by design: accounts live on independently operated homeservers rather than on a single provider's infrastructure.",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.advantage.1",
        "subject": "software:matrix",
        "predicate": "advantage",
        "value": "Homeservers federate, so a room can be shared by people whose accounts are on entirely different servers.",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.advantage.2",
        "subject": "software:matrix",
        "predicate": "advantage",
        "value": "History is tamper-resistant: a server signs each event together with the signatures of its parent events before relaying it.",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:documentation"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.advantage.3",
        "subject": "software:matrix",
        "predicate": "advantage",
        "value": "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.",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:documentation"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.advantage.4",
        "subject": "software:matrix",
        "predicate": "advantage",
        "value": "The specification is open and versioned and can be browsed freely, with public governance and a formal change process anyone can take part in.",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:documentation"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.advantage.5",
        "subject": "software:matrix",
        "predicate": "advantage",
        "value": "Publishes the specification under the Apache-2.0 licence, so it can be implemented without a licensing negotiation.",
        "status": "verified",
        "sourceIds": [
          "matrix:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.advantage.6",
        "subject": "software:matrix",
        "predicate": "advantage",
        "value": "The ecosystem is multi-vendor: homeservers, clients, SDKs and bridges are built by different parties rather than one company.",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.drawback.0",
        "subject": "software:matrix",
        "predicate": "drawback",
        "value": "Using Matrix means assembling it: a client and a homeserver are separate choices, and neither is the protocol itself.",
        "status": "derived",
        "sourceIds": [
          "matrix:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.drawback.1",
        "subject": "software:matrix",
        "predicate": "drawback",
        "value": "A Matrix ID embeds the homeserver domain, which cannot change over time, so an account is tied to the server it was created on.",
        "status": "developer-stated",
        "sourceIds": [
          "matrix:documentation"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.drawback.2",
        "subject": "software:matrix",
        "predicate": "drawback",
        "value": "Federation means reliability is distributed: a room's history depends on the servers participating in it, not on one operator's uptime.",
        "status": "derived",
        "sourceIds": [
          "matrix:documentation"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:matrix.drawback.3",
        "subject": "software:matrix",
        "predicate": "drawback",
        "value": "Implementations vary, so a feature available in one client may not be available in another, or may behave differently.",
        "status": "derived",
        "sourceIds": [
          "matrix:documentation"
        ],
        "lastVerified": "2026-10-05"
      }
    ],
    "lastUpdated": "2026-10-07T00:00:00.000Z",
    "lastReviewedAt": null
  }
}