Element (software)

Element (formerly Riot and Vector) is a free and open-source software instant messaging client implementing the Matrix protocol.

.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}

.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent;color:inherit}.mw-parser-output .infobox-3cols-child{margin:-3px}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}

Element
Screenshot of Element 1.12.7
Riot (2016–2020)Vector (2016)
Vector Creations Limited
Element Creations Limited
July 2016 (Beta)
JavaScript, Objective-C, Swift, Java, Kotlin
Windows, macOS, Linux, Android, iOS, Web platform
25 languages
.mw-parser-output .hidden-begin{box-sizing:border-box;width:100%;padding:5px;border:none;font-size:95%}.mw-parser-output .hidden-title{font-weight:bold;line-height:1.6;text-align:left}.mw-parser-output .hidden-content{text-align:left}@media all and (max-width:500px){.mw-parser-output .hidden-begin{width:auto!important;clear:none!important;float:none!important}}List of languagesBasque, Bengali, Bulgarian, Chinese (Simplified), Chinese (Traditional), Czech, Dutch, English (UK), English (US), Esperanto, Finnish, French, German, Hungarian, Italian, Korean, Latvian, Norwegian, Polish, Portuguese (Brazil), Romanian, Russian, Serbian, Slovak, Spanish, Swedish
VoIP communications, instant messaging, Videoconferences, social media, and other App Integrations
AGPLv3 or laterGPLv3 or laterElement Commercial License
element.io
.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}github.com/element-hq/element-web

Element (formerly Riot and Vector) is a free and open-source software instant messaging client implementing the Matrix protocol.

Element was originally known as Vector when it was released from beta in 2016. The app was renamed to Riot in September of the same year.

Logo of Riot from 2019 to 2020

In 2016 the first implementation of the Matrix end-to-end encryption was implemented and rolled out as a beta to users. In May 2020, the developers announced enabling end-to-end encryption by default in Riot for new non-public conversations.

In April 2019, a new application was released on the Google Play Store in response to cryptographic keys used to sign the Riot Android app being compromised.

In July 2020, Riot was renamed to Element.

In January 2021, Element was briefly suspended from Google Play Store in response to a report of user-submitted abusive content on Element's default server, matrix.org. Element staff rectified the issue and the app was brought back to the Play Store.

In May 2023, India's government banned 14 messaging apps, including Element. The ban was enacted on the recommendation of the Ministry of Home Affairs, citing terrorism in Jammu and Kashmir as the main cause.

Element is built with the Matrix React SDK, which is a React-based software development kit to ease the development of Matrix clients. Element is reliant on web technologies and uses Electron for bundling the app for Windows, macOS and Linux. The Android and iOS clients are developed and distributed with their respective platform tools.

On Android the app is available both in the Google Play Store and the free-software only F-Droid Archives, with minor modifications. For instance, the F-Droid version does not contain the proprietary Google Cloud Messaging plug-in.

Element supports end-to-end encryption, private and public groups, sharing of files between users, voice and video calls, and other collaborative features with help of bots and widgets. It is available as a web application that can be accessed through any modern web browser, as desktop apps for Windows, Mac, and Linux, and as a mobile app for Android and iOS. Element changed its license from Apache 2.0 to AGPLv3 and GPLv3 with contributor license agreement (CLA) and with a separate Element Commercial License.

Element is able to bridge other communications into the app via Matrix, including IRC, Slack, Telegram, Jitsi Meet and others. Also, it integrates voice and video peer-to-peer and group chats via WebRTC.

Element supports end-to-end encryption (E2EE) of both one-to-one and group chats.

Media compared Element to Slack, WhatsApp and other instant messaging clients.

In 2017, German computer magazine Golem.de called Element (then Riot) and Matrix server "mature" and "feature-rich", but criticized its key authentication at the time to be not user-friendly for communicatees owning multiple devices. A co-founder of the project, Matthew Hodgson, assured the key verification process was a "placeholder" solution to work on. In 2020, Element added key cross-signing to make the verification process simpler, and enabled end-to-end encryption by default.

  • Internet Relay Chat (IRC)
  • Rich Communication Services (RCS)
  • Session Initiation Protocol (SIP)

.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}body.skin-vector-2022 .mw-parser-output .reflist-columns-2{column-width:27em}body.skin-vector-2022 .mw-parser-output .reflist-columns-3{column-width:22.5em}.mw-parser-output .references[data-mw-group=upper-alpha]{list-style-type:upper-alpha}.mw-parser-output .references[data-mw-group=upper-roman]{list-style-type:upper-roman}.mw-parser-output .references[data-mw-group=lower-alpha]{list-style-type:lower-alpha}.mw-parser-output .references[data-mw-group=lower-greek]{list-style-type:lower-greek}.mw-parser-output .references[data-mw-group=lower-roman]{list-style-type:lower-roman}.mw-parser-output div.reflist-liststyle-upper-alpha .references{list-style-type:upper-alpha}.mw-parser-output div.reflist-liststyle-upper-roman .references{list-style-type:upper-roman}.mw-parser-output div.reflist-liststyle-lower-alpha .references{list-style-type:lower-alpha}.mw-parser-output div.reflist-liststyle-lower-greek .references{list-style-type:lower-greek}.mw-parser-output div.reflist-liststyle-lower-roman .references{list-style-type:lower-roman}

.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);color:inherit;display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:640px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}

.mw-parser-output .sister-box .side-box-abovebelow{padding:0.75em 0;text-align:center}.mw-parser-output .sister-box .side-box-abovebelow>b{display:block}.mw-parser-output .sister-box .side-box-text>ul{border-top:1px solid #aaa;padding:0.75em 0;width:220px;margin:0 auto}.mw-parser-output .sister-box .side-box-text>ul>li{min-height:31px}.mw-parser-output .sister-logo{display:inline-block;width:31px;line-height:31px;vertical-align:middle;text-align:center}.mw-parser-output .sister-link{display:inline-block;margin-left:7px;width:182px;vertical-align:middle}@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-v2.svg"]{background-color:white}}