<- Go Back
What is XMPP? And Why You Should Be Using It.
By Cereal 2025-03-11 (Updated 2025-03-30)
Introduction:
XMPP, which stands for "eXtensible Messaging and Presence Protocol", is a chat protocol that was introduced in 1999 as an alternative to more traditional instant messaging systems by offering a uniquely decentralized and federated architecture that enables different servers to freely communicate with each other.
Because XMPP is a chat protocol and not a piece of software, it means that there are numerous clients people can use for connecting to an XMPP server and even different software for the server itself (quite similarly to email).
Another important thing about XMPP is the "eXtensible" part of its name, because XMPP is a protocol; it has the ability to grow over time and have more and more features added to it that XMPP clients and servers can choose to implement.
Communication on XMPP is done through JIDs (Jabber IDs) that work similarly to email addresses; for example, if joe@cerealdev.net wanted to talk directly with jane@churchofwaluigi.org, all Joe would have to do is type Jane's JID into his XMPP client and they could both start talking to each other even though they are both on different servers.
Group chats (called MUCs or Multi-User Conferences on XMPP) also use JIDs, with the key difference being that MUCs are hosted on a separate sub-domain like chat.cerealdev.net or conference.cerealdev.net to avoid people confusing them for regular JIDs. For example, if joe@cerealdev.net wanted to join the group chat at shrek5@chat.cerealdev.net, all he would have to do is enter that JID into his XMPP client and he could talk to the other people in the group chat.
In short, XMPP is akin to email but for instant messaging.

This incredibly drawn diagram should help in explaining how XMPP works.
Why Should I Use It?
A few of the reasons you should be using XMPP are...
- It's a protocol, not a program.
- Most XMPP software is free and open-source.
- It's probably the most decentralized thing ever.
- Great Privacy.
As stated earlier, there are numerous servers and clients that implement the XMPP protocol and its many extensions, giving you the freedom to choose from various options rather than being confined to a single application like you would be with Discord, Whatsapp and the like. This flexibility enables you to have unprecedented control over your communications, far surpassing any other messaging protocols currently available.
There are a few exceptions to this, but as a whole most XMPP software is open-source, which means people can freely, view, modify, and redistribute the source code of the program any way they see fit. Giving more freedom to the user and complete transparency as to the inner workings of the program.
If you like the idea of complete control over your communications, XMPP has you covered and then some. From the clients used to connect to XMPP servers to the servers themselves and the ability to enable or disable any features you do or don't need. XMPP offers complete control over the software you use like no other instant messaging platform currently available.
In an age where digital surveillance is worse than ever, with it becoming near-impossible for the average person's online communications to stay private and secure, a decentralized, end-to-end encrypted service like XMPP is the exact thing people need to give them back their freedom and privacy.
How do I get started?
It's simple to get started with XMPP, but how much control you want over your communications is down to you and how much work you want to put in. For ultimate control, I would obviously recommend you host your own XMPP server or get a knowledgeable friend to set one up for you and all your friends to use.
But if you don't feel like attempting the challenge of hosting your own XMPP server or if you don't have any friends, then I would recommend you instead start your XMPP journey with one of the providers below.
Some good account providers I would recommend are:
- yax.im - A free, no-frills provider backed by strong German data protection laws and an 80MB size upload limit.
- Ho’okipa - Another solid Germany-based provider with a high upload limit of 104MB and multiple domains available for registration.
- xmpp.earth - Yet another Germany-based provider that offers a 52MB upload limit and a web client so you can talk to people directly through your web browser.
Now you'll need a client to get connected:
- Gajim - A fully featured cross-platform XMPP client that is available on Windows, Linux, and MacOS. It has features like video and voice calls as well as the ability to use multiple accounts with different workspaces.
- Dino - A sleek and modern XMPP client for Linux that features privacy by default (although it currently isn't finished).
- Conversations - A clean and simple paid XMPP client for Android that offers features such as voice and video calls, file sharing, and a sleek, mobile-optimized user interface.
- Monal - An XMPP client for Apple mobile devices that is cutting-edge in terms of features with things like voice and video calls, file sharing, and encrypted group chats.
Now you'll need an account:
You can generally create an account for a public XMPP server directly in your XMPP client. But if you're using a private instance, you might need to ask the owner of that server to manually create a new account for you to use or provide you with an account creation link that will let you create your own account inside an XMPP client.
Now you'll need some people to talk to:
Now that you're on your chosen XMPP server, there may already be some people there you can talk to; in most XMPP clients you can find a button that discovers all publicly available chatrooms on the server you're on, so find that button and join some public chatrooms to get chatting with other people on the server.
If you're interested, you can also find some publicly available chatrooms from other servers here.
Welcome to XMPP!
Now that you're on XMPP, you can take comfort in knowing that your communications are safe and secure and enjoy connecting with a global network of other people on XMPP.
Where can I learn more?
If you're interested in learning more about XMPP, these resources will probably be helpful.
- comfy.guide - A useful website for learning how to self-host a bunch of different services, including some XMPP server software.
- xmpp.org - The official website for the XMPP protocol that contains info about the latest extensions coming to XMPP as well as in-depth comparisons between different clients and servers.
- wiki.xmpp.org - The official wiki for the XMPP protocol that contains articles about tutorials and best practices as well as community resources.
Thank you for reading my first blog post; it really means a lot! If you have any comments about this web page, please contact me using the info on my contact page.