<- 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...

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:

Now you'll need a client to get connected:

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.

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.

<- Go Back