# Comparison of instant messaging protocols

The following is a comparison of instant messaging protocols. It contains basic general information about the protocols.

## Table of instant messaging protocols

| Protocol | Creator | First public release date | License | Identity (not inc. alias) | Asynchronous message relaying | Transport Layer Security | End-to-end encryption | Unlimited number of contacts | Bulletins to all contacts | One-to-many routing | Spam protection | Group, channel or conference support | Audio/VoIP support | Webcam/Video | Batch file sharing | Media synchronization | Serverless | Binary format | Protocol |
| 3GPP standards | Friedhelm Hillebrand | 1985 | Proprietary | Phone number (e.g. +15550123) | Yes | No | No | About 250 contacts in SIM, unlimited from phone. | No | serial messages | Medium | No | Yes | 3G-324M/ViLTE | RCS | No | ? | ? | 3GPP standards |
| Bitmessage | Jonathan Warren | 2012 Nov | Open standard | Alphanumeric address | Yes | Yes | Yes | Yes | No | Yes | Yes (through proof-of-work) | Yes | No | No | Yes | No | Yes | ? | Bitmessage |
| Bonjour | Apple Inc. | 2002 August | Proprietary Freeware; portions under the Apache license | Username | No | No | No | Yes | No | multicast | Medium | No | No | No | Yes | No | Yes | ? | Bonjour |
| Briar | Briarproject.org | 2018 May 9 | Open standard | Public & Private key (via QR Codes) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | ? | Briar |
| Discord | Discord Inc. | 2015 May 13 | Proprietary | Discord ID | Yes | No | No | No | No | ? | Medium | ? | Yes | Yes | Yes | ? | No | ? | Discord |
| dm3 | corpus.io / dm3.network | 2022 | Open Source (BSD) | ENS (Ethereum Name Service) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | ? | dm3 |
| Echo | spot-on.sf.net / goldbug.sf.net | 2013 | Open standard | Key | Yes | Optional | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | ? | Echo |
| Gadu-Gadu | GG Network | 2000 Jul 17 | Proprietary | UIN e.g. 12345678 | Yes | Yes | No | Yes | No | Centralistic | Yes (simple) | Yes | Yes | Yes | Yes | No | No | ? | Gadu-Gadu |
| IRC | Jarkko Oikarinen | 1988 Aug | Open standard | Nickname!Username@hostname (or "hostmask") e.g. user!~usr@a.b.com | Yes, via IRCv3 or MemoServ that differs from the main system | Optional | Many implementations which are mostly non-interoperable with other IRC clients | No | No | Simplistic multicast | Medium | Yes (everyone, multiple simultaneous, any size) | many implementations which are incompatible with other IRC clients | No | Yes | via BNC | yes, via DCC CHAT | ? | IRC |
| Jami (based on DHT and SIP) | Savoir-faire Linux Inc. | 2002 August | Open Standard | 40-digit address | Yes | Yes | Yes | Yes | No | Yes | Medium | Yes | Yes | Yes | Yes | No | Yes | ? | Jami (based on DHT and SIP) |
| Matrix | Matrix.org | 2014 Sep | Open standard | @Username:Hostname (MXID) | Yes | Yes, mandatory | Yes, default for private conversations | Yes | Yes | Yes | Yes (using pluggable server-side filtering modules and contact ignoring) | Yes | Yes | Yes | Yes | Yes | No | ? | Matrix |
| Mattermost | Mattermost Inc | 2015 October 2 | Open standard | | | | | | | | | | | | | | | ? | |
| MSNP (Windows Live Messenger, etc.) | Microsoft | 1999 Jul | Proprietary | Email address (Microsoft account) | Yes | No | No | Only for certified robots | No | Centralistic | Yes | Yes | Yes | Yes | Yes | Yes | No | ? | MSNP (Windows Live Messenger, etc.) |
| MTProto (Telegram) | Telegram Messenger LLP | 2013 Aug | Open standard | Phone number (e.g. +15550123), nickname (e.g. @example) | Yes | Yes | No end-to-end encryption for group chats | Yes | No | Yes | Yes, contact blocking | Yes | Yes | Yes | Yes | Yes | No | ? | MTProto (Telegram) |
| Mumble | Thorvald Natvig | 1999 Jul | Open standard | Username | Yes | Yes | No | Only for certified robots | No | Centralistic | Yes | Yes | Yes | No | Yes | No | No | ? | Mumble |
| LINE | LY Corporation | 2011 June 23 | Proprietary | | | | | | | | | | | | | | | ? | |
| OSCAR (AIM, ICQ) | AOL | 1997 | Proprietary (Discontinued 15-Dec-2017) | Username, Email Address or UIN e.g. 12345678 | Yes | Yes (Aim Pro, Aim Lite) | No | No | No | Centralistic | client-based | Yes (Multiple, simultaneous) | Yes | Yes | Yes | No | No | ? | OSCAR (AIM, ICQ) |
| Revolt | Revolt | 2021 | AGPLv3 | Username and discriminator (e.g. MysticPixie#7495) | Yes | Yes | No | | | | | Yes | Yes | No | Yes | | No | ? | Revolt |
| RVP (Windows Messenger, etc.) | Microsoft | 1997 Mar | Proprietary (Discontinued) | Windows Active Directory Login | No | No | ? | No | Centralistic | None | No | ? | ? | No | No | No | | ? | RVP (Windows Messenger, etc.) |
| Ricochet | Invisible.im | 2014 Mar | Open standard | Tor onion address | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | Yes | No | Yes | ? | Ricochet |
| Serval Project | Serval Project | 2016 | Open Standard | Digit address | Yes | No | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | Yes | ? | Serval Project |
| Signal Protocol | Signal Foundation | 2014 Feb | Open standard | Phone number (e.g. +15550123) | Yes | Yes | Yes | Yes | ? | Yes | Yes, contact blocking | Yes | Yes | Yes | Yes | Yes | No | ? | Signal Protocol |
| SimpleX Messaging Protocol | Evgeny Poberezkin | 2020 | AGPLv3 | No user identifiers | | Yes | Yes | Yes | | | Yes | Yes | Yes, through WebRTC | Yes, through WebRTC | Yes | | No | ? | SimpleX Messaging Protocol |
| SIP/SIMPLE | IETF | 1996 | Open standard | user@hostname | Yes | Yes | Optional | Yes | Yes | No | Medium | ? | Yes | Yes | Yes | No | Depends on implementation | ? | SIP/SIMPLE |
| Skype | Skype | 2003 Aug | Proprietary | Username | Yes | Proprietary | No | No | No | Centralistic | client-based | Yes | Yes | Yes | Yes | No | No | ? | Skype |
| Steam Friends | Valve | 2003 Sep 12 | Proprietary | SteamID/Username or Unique Number | Yes | Proprietary | ? | No, although rising | Yes | ? | No | Yes | Yes | No | No | No | No | ? | Steam Friends |
| TeamSpeak | TeamSpeak Systems GmbH | 2001 Aug | Proprietary | Unique ID in base64 | No | No | No | ? | ? | ? | ? | Yes | Yes | No | | | | ? | |
| TOC2 | AOL | 2005 Sep | Proprietary (Discontinued) | Username or UIN e.g. 12345678 | Yes | No | No | No | No | Centralistic | No | paying members only | ? | ? | Partial | ? | No | ? | TOC2 |
| Threema | Threema GmbH | 2012 December | Open standard | | | | | | | | | | | | | | | ? | |
| TOX (based on DHT) | irungentoo (GitHub user) | 2013 June | GNU General Public License (GPL) version 3 or later | Public & Private key | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | TOX (based on DHT) |
| Tuenti | Tuenti | 2006 | Proprietary | Username | Yes | Yes | No | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes | ? | No | ? | Tuenti |
| WeChat | Tencent | 2011 | Proprietary | Username | Yes | Yes | No | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | No | ? | WeChat |
| Windows Messenger service | Microsoft | 1990 | Proprietary (Discontinued) | NetBIOS | Yes | No | No | Yes | Yes | Yes | No | No | No | No | No | No | No | ? | Windows Messenger service |
| XMPP | Jeremie Miller, standardized via IETF | 1999 Jan | Open standard | Jabber ID (JID) e.g. usr@a.b.c/home | Yes | Yes | Optional | Yes | Yes | Yes | Yes | Yes | Yes, via Jingle | Yes, via Jingle | Yes | Yes | Optional | Yes | XMPP |
| YMSG (Yahoo! Messenger) | Yahoo! | 1998, March 9 | Proprietary | Username | Yes | No | No | No | Yes | Centralistic | Yes | Yes | Yes | Yes | Yes | No | No | ? | YMSG (Yahoo! Messenger) |
| Zephyr Notification Service | MIT | 1987 | Open standard | Kerberos principal e.g. user@ATHENA.MIT.EDU | Yes | No | No | Yes | Yes | Yes | No | Yes | No | No | No | No | No | ? | Zephyr Notification Service |
| Protocol | Creator | First public release date | License | Identity (not inc. alias) | Asynchronous message relaying | Transport Layer Security | End-to-end encryption | Unlimited number of contacts | Bulletins to all contacts | One-to-many routing | Spam protection | Group, channel or conference support | Audio/VoIP support | Webcam/Video | Batch file sharing | Media synchronization | Serverless (decentralized) | Binary format | Protocol |
* 1 2 One-to-many/many-to-many communications primarily comprise presence information, publish/subscribe and groupchat distribution. Some technologies have the ability to distribute data by multicast, avoiding bottlenecks on the sending side caused by the number of recipients. Efficient distribution of presence is currently however a technological scalability issue for both XMPP and SIP/SIMPLE.
* 1 2 Serverless protocols don't have any central entities (usually companies) controlling the network. Serverless network consists only of clients. Such systems are usually extremely resistant to surveillance and censorship.
* ↑ There have been reports from users that the antispam filter is used to censor links to other IM programs and some websites.
* ↑ In ~usr@a.b.com, the a.b.com part is known as the "hostmask" and can either be the server being connected from or a "cloak" granted by the server administrator; a more realistic example is ~myname@myisp.example.com. The tilde generally indicates that the username provided by the IRC client on signon was not verified with the ident service.
* ↑ Scalability issue: The protocol gets increasingly inefficient with the number of contacts.
* ↑ In usr@a.b.c/home, the home part is a "resource", which distinguishes the same user when logged in from multiple locations, possibly simultaneously; a more realistic example is user@xmppserver.example.com/home.