A simple, elegant web client for the Matrix open messaging protocol, built with React and TypeScript.
element-hq/element-web
A web and desktop client for the Matrix open communication protocol, built on the Matrix JS SDK.
Open-source alternative to:Slack
Discord
Microsoft Teams
- Stars
- 13,598
- Forks
- 2,794
- Open issues
- 3,698
- Last commit
- 10 hours ago
What is it?
Element, formerly known as Vector and Riot, is a client for the Matrix protocol that runs in the browser and as a desktop app wrapped in Electron. It is built on the Matrix JS SDK and lets users chat, join rooms, and communicate across any Matrix-compatible server.
The repository is a monorepo that holds Element Web and related projects in separate subdirectories, including the desktop app. The project provides a hosted instance at app.element.io, and documentation covers hosting your own instance, configuration, and translations.
For mobile devices, the project points users to the separate native apps element-x-android and element-x-ios.
Key features
- 01Matrix client for web and desktop, built on the Matrix JS SDK
- 02Desktop app packaged with Electron for macOS, Windows, and Linux
- 03Can be self-hosted on your own instance
- 04Monorepo structure with multiple related projects
- 05Translation support through a documented workflow
Use cases
- Chatting on the Matrix network through a browser without installing software
- Running a self-hosted, private chat client for a team or organization
- Using a desktop Matrix client on macOS, Windows, or Linux
- Studying or extending a large open-source TypeScript web client for Matrix
Quick start
- 1
Try the hosted copy in your browser
- 2
Download the desktop app from the Element website
- 3
Host your own instance by following the install guide
Things to know
- Licensed under AGPL-3.0, a copyleft license that requires source disclosure for modified network deployments.
- Some browsers and mobile web platforms get only best-effort or community support.
Topics
FAQ
- What is element-web?
- A web and desktop client for the Matrix open communication protocol, built on the Matrix JS SDK. Element, formerly known as Vector and Riot, is a client for the Matrix protocol that runs in the browser and as a desktop app wrapped in Electron. It is built on the Matrix JS SDK and lets users chat, join rooms, and communicate across any Matrix-compatible server.
- Is element-web free to use? What license does it have?
- element-web is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is element-web still maintained?
- Actively maintained. The last commit to element-web was on Oct 19, 2026.
- What can I use element-web for?
- Chatting on the Matrix network through a browser without installing software Running a self-hosted, private chat client for a team or organization Using a desktop Matrix client on macOS, Windows, or Linux Studying or extending a large open-source TypeScript web client for Matrix
- How do I install element-web?
- Try the hosted copy in your browser Download the desktop app from the Element website Host your own instance by following the install guide
- Where can I get element-web?
- The source code and installation instructions are on GitHub: https://github.com/element-hq/element-web
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A free, open-source, local-first personal finance app for envelope budgeting, with sync across devices.
A TypeScript music player focused on full-screen animated lyrics, supporting NetEase, QQ, Kugou, Navidrome and local libraries.
Open-source instant messaging server in Go that developers integrate into their own apps, with SDK, REST API and webhooks.
Self-hosted, open source AI assistant and persistent bot platform where you choose the model and sandbox, on web, desktop, iPhone and Android.
A self-hosted, privacy-focused AI note-taking app for quickly capturing fleeting thoughts as Markdown cards with natural-language search.