SimpleX Chat
simplex-chat · Team chat
GitHub stars
19,613Awaiting first sync
No measured star history yet
What is SimpleX Chat?
SimpleX Chat is for people who want private conversations without handing over a phone number or username. It gives users no identifier at all, which makes it hard for servers or outsiders to see who talks to whom. You can use the preset servers or run your own, and still talk to people on other servers.
SimpleX Chat is a messaging app for iOS, Android, desktop and the terminal that gives users no identifiers, not even random numbers. Messages use double ratchet end-to-end encryption with an extra layer, and relay servers hold them only until delivery. Contacts, groups and messages are stored on your devices, and anyone can run their own relay servers.
Core capabilities
- Connects people through one-time links or QR codes, not phone numbers.
- Keeps contacts, groups and message history only on your devices.
- Lets you run your own SMP and XFTP relay servers next to the preset ones.
Messaging without user identifiers
SimpleX assigns no identifier to its users, which hides who is talking to whom from servers and observers. Messages pass through relay servers in one-way message queues and are held only until the recipient receives them. Only the client devices know about users, contacts and groups. Encryption uses the double ratchet algorithm with an additional layer, and Trail of Bits has reviewed the apps and the protocol design.
- Privacy
- Encryption
- Metadata
- Relays
Profiles, groups and calls
Apps are available for iOS, Android, Windows, macOS and Linux, plus a terminal client. You can keep several chat profiles, hide some behind a password, and use incognito mode to show a random name to new contacts. Secret groups have their own preferences for disappearing and voice messages, and the apps support audio and video calls. A mobile app can also be linked to the desktop app.
- Groups
- Incognito
- Calls
- Desktop
Run your own servers under AGPL-3.0
The apps work out of the box with preset servers, so self-hosting is optional. To run your own, install an SMP server for messages and an XFTP server for files on a Linux machine, using the install script, systemd or Docker. Servers can also be offered over Tor with an onion address. SimpleX Chat is licensed under AGPL-3.0, while the SimpleX name, logo and graphic assets fall under separate trademark and asset terms.
- Self-hosted
- SMP
- XFTP
- Tor
- AGPL-3.0
Where it fits
Use cases
- 01
Talk privately without sharing a phone number
Create a chat profile in the app, which stays on your device. Tap the new chat button, create a one-time invitation link and share it, or let your contact scan the QR code. After connecting, compare the connection security code to verify the contact.
- 02
Run a small private group
Tap the new chat button, choose Create secret group and invite contacts from your list. Group preferences control disappearing messages, direct messages, deleting for everyone and voice messages. Each message is sent separately to every member, so secret groups suit smaller groups.
- 03
Route your team's messages through your own server
Install an SMP server on a Linux server with the installation script or the simplexchat/smp-server Docker image, using your own domain. Copy the full server address, including its password, into the app's server settings, and keep or disable the preset servers. Share the server's QR code so colleagues can receive messages through it too.