head to head · open source
Signal vs Element
Signal has 29,568 GitHub stars, 6,933 forks, 498 open issues and last shipped 4 days ago. Element has 13,634 stars, 2,814 forks, 3,779 open issues and last shipped yesterday. Signal leads on adoption by 117% (29,568 vs 13,634 stars). Signal is written in Kotlin under AGPL-3.0; Element is written in TypeScript under AGPL-3.0. Signal has attracted 23% as many forks as stars, Element 21%. Element was the more recently maintained of the two, and both are self-hostable with no licence fee.
Two open source projects, one decision. Both are free and self-hostable — the differences are community size, license terms, language stack and release pace.
← all 20902 open source comparisons
Side by side
| Signal | Element | |
|---|---|---|
| GitHub stars | ★ 30K | ★ 14K |
| License | AGPL-3.0 | AGPL-3.0 |
| Written in | Kotlin | TypeScript |
| Last push | 2026-10-30 | 2026-11-02 |
| Forks | ⑂ 6.9K | ⑂ 2.8K |
| Self-hosting | Yes | Yes |
| Data ownership | Your server | Your server |
pick Signal if
- You weight community size — 30K stars and counting
- You want the AGPL-3.0 license terms
- Your stack matches Kotlin
- You value the larger contributor base for long-term maintenance
pick Element if
- You want the Element feature set and don't need the biggest community
- You prefer the AGPL-3.0 license terms
- Your stack matches TypeScript
- You evaluated both and Element fits your workflow better
About Signal
Signal Android Signal is a simple, powerful, and secure messenger that uses your phone's data connection (WiFi/4G/5G) to communicate securely. Millions of people use Signal every day for free and instantaneous communication anywhere in the world. Send and receive high fidelity messages, participate in HD voice/video calls, and explore a growing set of new features that help you stay connected. Signal’s advanced privacy preserving technology is always enabled, so you can focus on sharing the moments that matter with the people who matter to you. Currently available on the Play Store and signal.org. Also available…
read the full Signal overview →
About Element
Element Element (formerly known as Vector and Riot) is a Matrix web & desktop client built using the Matrix JS SDK. Supported Environments Element has several tiers of support for different environments: Supported Definition: Issues actively triaged , regressions block the release Last 2 major versions of Chrome, Firefox, and Edge on desktop OSes Last 2 versions of Safari Latest release of official Element Desktop app on desktop OSes Desktop OSes means macOS, Windows, and Linux versions for desktop devices that are actively supported by the OS vendor and receive security updates Best effort Definition: Issues…
read the full Element overview →
More in Security & Privacy
Related comparisons
More Data Security & Privacy projects
Compare either of these against the rest of the Data Security & Privacy field.
Frequently asked questions
Is Signal or Element more popular?
Signal has 29,568 GitHub stars and Element has 13,634. Signal has the larger community by that measure.
Are Signal and Element free?
Both are open source. Signal is licensed under AGPL-3.0 and Element under AGPL-3.0. Neither carries a licence fee.
What is the difference between Signal and Element?
Signal is written in Kotlin and Element in TypeScript. The practical differences are community size, licence terms, language stack and release cadence — all compared in the table above.
Which should I choose, Signal or Element?
Choose Signal if you want the larger community (29,568 stars) or its AGPL-3.0 licence terms. Choose Element if its feature set, stack or AGPL-3.0 licence fits better. Both are self-hostable.