# Element — Secure Matrix Chat Client for the Web > A glossy Matrix collaboration client for the web and desktop providing end-to-end encrypted messaging, voice, video, and bridging to other platforms. ## Install Save as a script file and run: # Element — Secure Matrix Chat Client for the Web ## Quick Use ```bash # Self-host Element Web with Docker docker run -d --name element-web -p 8080:80 -v /path/to/config.json:/app/config.json vectorim/element-web:latest # Or deploy the static build behind any web server wget https://github.com/element-hq/element-web/releases/latest/download/element-web.tar.gz tar xzf element-web.tar.gz cp element-web/config.sample.json element-web/config.json # Edit config.json to point to your Matrix homeserver ``` ## Introduction Element is the flagship client for the Matrix decentralized communication protocol. It provides end-to-end encrypted messaging, voice and video calls, file sharing, and room-based collaboration through a polished web interface. Because it connects to the open Matrix network, users on any Matrix homeserver can communicate with each other without vendor lock-in. ## What Element Does - Delivers end-to-end encrypted text messaging, voice calls, and video conferencing - Organizes conversations into rooms (channels) with flexible permissions and moderation - Bridges to Slack, Discord, IRC, Telegram, and other platforms via Matrix bridges - Supports spaces (groups of rooms) for organizing teams, communities, or projects - Provides cross-signed device verification for secure multi-device usage ## Architecture Overview Element Web is a React and TypeScript single-page application built on the Matrix JS SDK. It communicates with a Matrix homeserver (typically Synapse or Dendrite) over the Matrix Client-Server API. End-to-end encryption uses the Olm and Megolm cryptographic ratchets implemented in libolm. The web app is fully static once built, so it can be served from any web server or CDN. All state and message history lives on the homeserver, making Element a stateless client. ## Self-Hosting & Configuration - Serve the static web build behind Nginx, Caddy, or any HTTP server - Edit `config.json` to set your default homeserver URL and branding - Pair with a self-hosted Synapse or Dendrite homeserver for full control - Configure Jitsi or built-in Element Call for video conferencing integration - Customize themes, logos, and default room settings through the config file ## Key Features - End-to-end encryption enabled by default for private rooms and direct messages - Threads, reactions, and rich text editing for modern messaging UX - Widgets embed third-party apps (Jitsi, Etherpad, polls) directly into rooms - Full-text search across message history with server-side indexing - Desktop and mobile apps share the same Matrix account with seamless sync ## Comparison with Similar Tools - **Rocket.Chat** — self-hosted team chat with more built-in integrations but no federation by default - **Mattermost** — Slack alternative focused on enterprise workflows, lacks decentralized architecture - **Zulip** — topic-based threading model, stronger for async discussion but no E2EE - **XMPP clients (Conversations, Gajim)** — federated like Matrix but with a smaller modern client ecosystem ## FAQ **Q: Do I need my own Matrix homeserver?** A: No. You can use the public matrix.org homeserver. Self-hosting gives you data sovereignty and custom federation policies. **Q: Is Element free for teams?** A: The open source Element Web is free to self-host with no user limits. Element offers a paid hosted service (Element Server Suite) with enterprise support and compliance features. **Q: How does bridging work?** A: Matrix bridges run as separate services that relay messages between Matrix rooms and external platforms. Popular bridges include mautrix for WhatsApp, Telegram, and Signal. **Q: Can I use Element for large communities?** A: Yes. Spaces let you organize hundreds of rooms under a hierarchy. Large deployments benefit from Synapse workers or Dendrite for horizontal scaling. ## Sources - https://github.com/element-hq/element-web - https://element.io/docs --- Source: https://tokrepo.com/en/workflows/24b4f060-3e48-11f1-9bc6-00163e2b0d79 Author: Script Depot