delightful xmpp delightful

Software, implementations, and developer resources that are related to federated XMPP (Jabber) protocol and platform.

XMPP

XMPP (formerly Jabber) is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data. For more information on the XMPP protocol see http://xmpp.org/about-xmpp/.

Legend

Brand

A component or plugin for which a particular software is designed for.

🦔 ejabberd

🔥 Openfire

🐦 Pelican

🪶 Poezio

🐯 Tigase

Feature

A highlighted feature of special characteristic.

📱 PDA - Mobile device compatibility.

📰 PubSub - Publishing support.

📝 XEP-0479: XMPP Compliance Suites 2023.

Message

A current attention message concerning to a project.

⚠ A message of concern

⛑ Developers wanted

🛟 Help wanted

🚧 Maintainers wanted

Mode

👥 Group chat

👤 Private chat

Contents

XMPP References

Documents

Community

Campaign

Applications

Chat clients

Adium

Adium is a free instant messaging application for macOS which lets you connect accounts on multiple chat networks simultaneously. This means that you can be chatting with friends on XMPP and sitting in an IRC channel at the same time.

another.im

The Another Instant Messenger is not a messenger, don't believe the words.

We offer a standardized xmpp-client with predicted features which work equally on all platforms.

For our clients we have realized pure XMPP and you won't step on a hedgehog unexpectedly when you communicate with another XMPP client or server.

📱 PDA compatible

Aparté

Simple XMPP console client written in Rust and inspired by Profanity.

It supports OMEMO and can display images thanks to sixel.

aTalk

XMPP/Jabber client with encrypted instant messaging and video calls.

An encrypted instant messaging with video call and GPS features for Divest OS.

📱 PDA compatible

BombusMod

BombusMod is a mobile XMPP client.

📱 PDA compatible

Beagle

Beagle IM by Tigase, Inc. is a lightweight and powerful XMPP client for macOS.

It provides an easy way to start using XMPP protocol (formelly known as Jabber) if you have never used it before.

Veterans of the protocol will find many features with which they are familiar and a few enhancements.

📱 PDA compatible

blabber.im

blabber.im is a fork of Conversations. The changes aim to improve usability and ease transition from pre-installed and other widespread messengers.

📱 PDA compatible

Bruno

Bruno is the cutest Jabber/XMPP Instant Messaging (IM) app available. It is a themed version of the open source yaxim app.

You can use Bruno if the other IM apps are just not stylish enough.

Candy

A JavaScript-based multi-user chat client.

There are plenty of HTML-based chat clients out there. Most of them are built to emulate your instant messenger. They offer you tons of settings. They can join multiple networks, let you edit your profile, and even manage your message history.

Candy is different. It is built for your community.

Chat-O-Matic

A multi-protocol chat program for Haiku.

Protocols natively supported include IRC and XMPP.

ChatSecure

ChatSecure is a free and open source messaging app that features OMEMO encryption and OTR encryption over XMPP.

Unlike other apps that keep you stuck in their walled garden, ChatSecure is fully interoperable with other clients that support OMEMO or OTR and XMPP.

📱 PDA compatible

Chatty

A simple to use messaging app for 1:1 communication and small groups supporting SMS, MMS, Matrix and XMPP.

📱 PDA compatible

Cheogram

The Cheogram Android app allows you to join a worldwide communication network.

It especially focuses on features useful to people who want to contact those on other networks as well, such as SMS-enabled phone numbers.

📱 PDA compatible

Conversations

The very last word in instant messaging. Conversations is an encrypted, easy-to use XMPP instant messenger for your mobile device.

It is compatible with Android 5.0+ smartphones and has been optimized to provide a unique mobile experience. It is easy to use, reliable, battery friendly, with built-in support for images, group chats and e2e encryption.

📱 PDA compatible

Converse

Converse is a free and open-source XMPP chat client that runs from browsers and desktops.

You can use it as a browser chat app, integrate it into your own site, or use it directly from your desktop or mobile devices.

It is 100% client-side JavaScript, HTML and CSS and the only backend required is a modern XMPP server.

📱 PDA compatible

Converse Ubuntu Touch

📱 PDA compatible

Convo

A Jabber/XMPP client for Project Pris / GerdaOS and KaiOS devices.

Convo is a basic XMPP messaging client for KaiOS which supports sending of messages to existing contacts and joining to existing groupchats.

The app is a bit limited on its own, but works well along with a companion desktop app.

Convo is still at the state of "work in progress" and is currently under development.

📱 PDA compatible

CoyIM

CoyIM is a standalone chat client for computers that focuses on safety and security.

It is a self-contained program that is safe from the moment it starts up.

CoyIM only supports one chat protocol - XMPP (sometimes known as Jabber).

When creating CoyIM, we carefully evaluate and pick the features that are necessary to create a good chat experience, while keeping the attack surface of the system to a minimum.

At the same time, we want CoyIM to be part of an open ecosystem. You will not be locked in by using CoyIM. You can talk to people using other XMPP and OTR clients as well. CoyIM also allows you to use accounts you have already created with other software.

Dergchat

Dergchat is a small chat client for the XMPP protocol. It is written in Rust, based on xmpp-rs and Dioxus.

⛑ Developers wanted

Dino

Dino is a modern open-source chat client for desktop and mobile devices, which focuses on providing a clean and reliable Jabber/XMPP experience while having your privacy in mind.

Dino supports end-to-end encryption with OMEMO and OpenPGP and allows configuring privacy-related features such as read receipts and typing notifications.

Dino fetches history from the server and synchronizes messages with other services.

📱 PDA compatible

eyeCU

Full-featured crossplatform Jabber/XMPP client, a Vacuum-IM fork. The core program is just a plugin loader, all functionality is made available via plugins. This enforces modularity and ensures well defined component interaction via interfaces.

The main idea of eyeCU is improving Jabber communication by adding geolocation-oriented features, like Map, Positioning and Points of Interest with an ability to exchange location with your buddies.

The second is implementation of mordern advanced XMPP extensions, like Personal Events (PEP), XHTML-IM, Message Delivery Receipts, Attention and so on.

Fnord

Fnord Messenger for XMPP.

A Jabber/XMPP chat client which is fair to the eyes.

📱 PDA compatible

Freetalk

GNU Freetalk is a console based chat client for Jabber and other XMPP servers.

It has context sensitive auto-completion for buddy names, commands, and even ordinary English words. Similar to GNU Emacs,

You can customize and extend GNU Freetalk with Scheme language.

Gajim

Gajim aims to be an easy to use and fully-featured XMPP client.

Chat securely, using End-to-End encryption, with your friends or family; easily share pictures and thoughts; or discuss the news with your groups.

Gajim integrates well with your other devices: simply continue conversations on your mobile device.

Irssi

Irssi is a modular text mode chat client. It comes with IRC support built in.

irssi-xmpp is an Irssi plugin to connect to the XMPP network (jabber).

jabber.el

An XMPP client for Emacs

jabber.el is an XMPP client for Emacs. XMPP (also known as 'Jabber') is an IETF-standard federated instant messaging protocol.

Jabberwocky

A Jabber Client for Amiga Computer.

Jabwave

Yet another XMPP/Telegram (unofficial) messenger for Android, designed for modern Android versions with Material Design 2.

📱 PDA compatible

Jackline

A minimalistic secure XMPP client.

Jackline uses several clean-slate libraries (OCaml-TLS, OCaml-OTR) and only has a minimal few features: no support for HTML markup, avatars, which music you're playing, timezone you are living in, ...

Jappix

Jappix, a full-featured XMPP web-client (Jappix Desktop, Jappix Mobile & Jappix Mini).

Jappix is a fresh new open social platform which enables you to host your communication platform wherever you want to. People must be able to get in touch with all their friends on a free decentralized network!

🚧 Maintainers wanted

Jitsi Desktop

Jitsi Desktop (formerly SIP Communicator) is a free open-source audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, IRC and many other useful features.

JSXC

JavaScript XMPP Client.

Real-time XMPP chat application with video calls, file transfer and encrypted communication.

🚧 Maintainers wanted

Kaidan

Kaidan is a user-friendly and modern chat app for every device.

It uses the open communication protocol XMPP (Jabber).

Unlike other chat apps, you are not dependent on one specific service provider, and your privacy is gauranteed more than ever before.

📱 PDA compatible

Kaidan Ubuntu Touch

📱 PDA compatible

Kaiwa

Kaiwa is an open source HTML client for XMPP. Kaiwa is a fork of Otalk, a prototype application created by &yet.

Kopete

Leech Craft

LeechCraft is a free open source cross-platform modular live environment and internet-client.

LeechCraft allows to chat, browse the internet, read Atom/RSS feeds, download files via BitTorrent, FTP, HTTP and DC, automatically download, play or stream podcasts (and other media files) and much more.

LeechCraft is a modular system, and by installing different modules you can customize the feature set, keeping off the things you do not need and have a decent IM client, media player or a feed reader, for example.

📰 PubSub

MCabber

mcabber is a small XMPP (Jabber) console client.

mcabber includes features such as SASL/SSL/TLS support, MUC (Multi-User Chat) support, history logging, command completion, OpenPGP encryption, OTR (Off-the-Record Messaging) support, dynamic modules and external action triggers.

Miranda NG

A multi-protocol client with extended XMPP support.

Miranda NG is a successor of the popular multi-protocol instant messaging client Miranda IM.

It is very light on system resources and extremely fast.

Monal

Privacy like it's 1999.

Monal is an XMPP instant messaging client for macOS and iOS which strives to be the go-to client for these platforms just like the app Conversations is for Divest OS.

📱 PDA compatible

monocles chat

monocles chat is a modern and secure Android XMPP chat client.

It is based on blabber.im and Conversations, yet has a lot of changes and offers additional features to improve usability and security.

📱 PDA compatible

Movim

Movim is a federated publishing and chat platform that acts as an HTML frontend for the XMPP protocol.

Movim offers a complete social and chat experience for the decentralized XMPP network, and it can easily connect to several XMPP servers at the same time.

Chatrooms, journals, video-conferences; Movim centralizes all that you need to communicate with your colleagues, friends or family in one simple interface.

It also fully adapts to all of your devices from your mobile devices to your desktop computer.

📱 PDA compatible

📰 PubSub

Movim Ubuntu Touch

📱 PDA compatible

📰 PubSub

Moxxy

Moxxy is an experimental XMPP client that aims to be modern and easy to use.

It is currently alpha software. This means that there will be issues with some functionalities. Please do not use Moxxy for anything important at this moment.

📱 PDA compatible

nuqql

nuqql is a command line instant messenger inspired by centericq and centerim written in Python and using ncurses.

Pàdé

Browser Extension based XMPP unified communications client

Pàdé is the Yoruba word for "Meet". It is a unified real-time collaboration client optimized for business and organizations implemented as a cross-platform browser extension.

Pandion NG

An easy to use instant messenger based on the open standard XMPP.

🚧 Maintainers wanted

Pidgin

Pidgin is a chat program which lets you log into accounts on multiple chat networks simultaneously. This means that you can be chatting with friends on XMPP and sitting in an IRC channel at the same time.

Pidgin is compatible with the following chat networks out of the box: Jabber/XMPP, Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, Lotus Sametime, SILC, SIMPLE, and Zephyr. It can support many more with plugins.

Pidgin supports many features of these chat networks, such as file transfers, away messages, buddy icons, custom smileys, and typing notifications. Numerous plugins also extend functionality above and beyond the standard features.

Poezio

Poezio is a free console XMPP client (the protocol on which the Jabber IM network is built).

It allows you to connect very easily (no account creation needed) to the XMPP network, and join to various of chatrooms, immediately.

It mimics the appearance of the most famous IRC clients (weechat, irssi, etc), and it includes many identical commands. You will be immediately familiar, if you already know these clients. Configuration can be made in a configuration file or directly from the client. You will find the light, fast, geeky and anonymous spirit of IRC while using a powerful, standard and open protocol.

Profanity

A console based XMPP client.

Profanity is a console based XMPP client written in C using ncurses and libstrophe, inspired by Irssi.

It supports XMPP chat services, MUC chat room, OTR, PGP and OMEMO encryption, roster management, including flexible resource and priority settings, desktop notifications, and it has a plugins system in Python and C.

Prose

Team messaging, built to last. All of your workplace communication lives here.

Decentralized Team Messaging in an Era of Centralized SaaS.

Psi

Psi is a cross-platform powerful XMPP client designed for experienced people.

Fast and lightweight, Psi is fully open-source and compatible with any Qt supported operating system.

Psi+

Psi+ is a development branch of Psi XMPP client. Thanks to rolling release development model Psi+ recieves new features and fixes very quickly.

Project purposes are: implementation of new features, writing of patches and plugins for transferring them to upstream.

qutIM

qutIM is module-based multiprotocol instant messenger, based on Nokia Qt. All its functionality and features are implemented through separate plugins.

Renga

A simple but powerful client for chatting on XMPP networks.

Renga supports personal one-to-one chat, group chat, transports, etc. and it provides a clean and easy to use interface.

Siskin

Siskin IM by Tigase, Inc. is a lightweight and powerful XMPP client for iPhone and iPad. It provides an easy way to talk and share moments with your friends.

📱 PDA compatible

Shmoose

XMPP Client for Sailfish OS.

📱 PDA compatible

Smuxi

A free, distributed and user-friendly IRC, and XMPP/Jabber client for Linux, Windows and macOS based on GTK+.

Spark

Spark is an Open Source, cross-platform IM client optimized for businesses and organizations.

It features built-in support for group chat, telephony integration, and strong security.

It also offers a great end-user experience with features like in-line spell checking, group chat room bookmarks, and tabbed conversations.

Speeqe

Speeqe is an HTML based client to XMPP/MUC rooms.

Speeqe is an HTML based, group chat client that works with the XMPP/MUC protocol. It is chat made simple. The purpose is to give to anyone the best and easiest experience in creating chat rooms.

It is a combination of javascript and python code using a collection of open source software and software tools. This collection is nginx or apache for a frontend. The frontend serves the HTML client which is javascript using Strophe and JQuery.

It also proxies to Punjab for the BOSH connection to connect to XMPP XMPP based servers. To tie it all together there is a small amount of django.

⚠ Requires porting from Python version 2 to 3

⚠ Requires porting from SleekXMPP to Slixmpp

⚠ Requires porting from Flusk to FastAPI

Squawk

Squawk is a lightweight XMPP desktop messenger.

The primary objective of this project is to offer you a fast and user-friendly messaging experience that closely aligns with your system style, while also minimizing resource consumption.

Squawk is still at a very early stage and might not suit everyone but you are welcome to try it out.

Stork

Stork IM by Tigase, Inc. is a lightweight and powerful XMPP client for Android.

It provides an easy way to talk and share moments with your friends.

📱 PDA compatible

Swift

An elegant, secure, adaptable and intuitive XMPP Client.

Swift's clean design and comprehensive feature set make it the logical choice for anyone looking for a cross-platform XMPP client.

Swift is free to use, with optional commercial support contracts available from Isode.

Tkabber

Tkabber is a Free and Open Source client for the Jabber instant messaging system. It's writen in Tcl/Tk, and works on many platforms (tested on Linux, FreeBSD, NetBSD, Solaris, MacOS X and Windows 98/2000/XP).

UWPX

UWPX is a Windows app for your UWP (Windows 10 and Windows 11) devices.

At the moment, development on UWPX has stopped, and we are looking for a new maintainer.

There is support for a wide range of features link bookmarks, user avatars, chat markers and experimental OMEMO support.

📱 PDA compatible

🚧 Maintainers wanted

WeeChat

XMPP for power users and digital masochists.

weechat-xmpp is a WeeChat plugin that extends WeeChat to support XMPP, and it currently has a minimal but ideally maximal set of XEPs.

Xabber

Open source Jabber (XMPP) client with multi-account support, and a clean interface to provide you with a first-class chat experience.

Free (as in freedom!) and ad-free, Xabber looks and works great, and is built to provide people with a simple, fast and secure messaging, based on interoperable open standards.

📱 PDA compatible

Xabber Web

Open source Jabber (XMPP) client with multi-account support, and a clean interface to provide you with a first-class chat experience.

Free (as in freedom!) and ad-free, Xabber looks and works great, and is built to provide people with a simple, fast and secure messaging, based on interoperable open standards.

xmpp

XMPP client for Plan 9.

XMPP Web

A lightweight HTML chat client for XMPP servers.

It supports WebSocket, groupchat, roster, bookmarks, file transfer, password protected rooms, chat state notifications, formatting of messages, stickers, room creation and configuration, message moderation, vCard information.

It is lightweight (600 KB gzipped at the first loading and then less than 10 KB)

Guest access /guest?join={jid} (joining a MUC anonymously as described in RFC 4505)

xmppClientCore

A Python-based XMPP client that provides user authentication, contact management, group chat, and account management functionalities through a user-friendly interface built with Tkinter.

yaxim

yaxim (Yet Another XMPP Instant Messenger) is a lean Jabber/XMPP client for Android.

It aims at usability, low overhead and security, and works on low-end Android devices starting with Android 4.0.

📱 PDA compatible

OTR

gajim-otrplugin

OTR plugin for Gajim 1.7+.

News clients

Newsline

Newsline is a news reader which appears as a horizontal bar and is intended to be utilized with feeds that are expected to be updated at a higher frequency, mostly announcements, issue trackers, forums, geographical (e.g. weather) and vehicle traffic data.

Reeder

Reeder is an Atom/RSS feed reader with the peculiar meticulousness that is purely based on the XMPP PubSub system. This means, that the content which Reeder fetches, does not come from typical HTTP feed sources but rather from XMPP PubSub services.

Plugins

Ejabberd Account Tools for WordPress

Provides a set of useful tools for the ejabberd server, both for the frontend and backend spaces of websites running on the WordPress engine. You will be able to place on any page e.g. new account registration form, account password reset form, webpresence support. From the administration panel side you will gain access to e.g. blocking accounts, unblocking IP addresses from the fail2ban database and sending system messages to specific users.

XMPP Authentication for WordPress

Allows people to authenticate without password via XMPP and for visitors to be filtered by XMPP verification.

XMPP chat for Hubzilla

Embedded XMPP (Jabber) client using Converse messenger.

XMPP chat for WordPress

Embedded XMPP (Jabber) client using Converse messenger.

XMPP Enabled for WordPress

XMPP Enabled provides a single function API for other plugins that use Jabber/XMPP messaging protocol.

See API section for details if you want to use XMPP protocol in your notifications.

Please contact the developer, Mr. Anton Smirnov (alias sandfox).

Please ignore the note about "Guideline Violation". This is an miserable attempt to discourage people.

🚧 Maintainers wanted

XMPP Statistics for WordPress

Displays the statistics from ejabberd XMPP server.

Publishing

Blasta

Blasta is a collaborative bookmarks manager for organizing online content.

It allows to add links to personal collections of links, to categorize them with keywords, to share them with people and synchronize them.

📰 PubSub

JabberCard

JabberCard is an HTML invite page for XMPP, which allows to present XMPP profiles as fancy HTML pages.

The main purpose, is to provide an interface to share and link to XMPP contacts and group chats via HTML browsers.

It also provides interfaces to view conference messages and PubSub posts, and to explore XMPP servers, pubsub nodes and other services and entities.

Libervia

Libervia is a all-in-one tool to manage all your communications needs: instant messaging, (micro)Journaling, file sharing, photo albums, events, forums, tasks, etc.

📰 PubSub

Movim

Movim is a federated publishing and chat platform that acts as an HTML frontend for the XMPP protocol.

Movim offers a complete social and chat experience for the decentralized XMPP network, and it can easily connect to several XMPP servers at the same time.

Chatrooms, journals, video-conferences; Movim centralizes all that you need to communicate with your colleagues, friends or family in one simple interface.

It also fully adapts to all of your devices from your mobile devices to your desktop computer.

📰 PubSub

Movim Ubuntu Touch

📰 PubSub

Pelican Pubsub

A Pelican plugin that publishes articles to XMPP pubsub, allowing them to be commented via XMPP.

📰 PubSub

Poezio Journal

Poezio Journal is a plugin for the software Poezio.

It allows to interact with people over Blasta, Libervia and Movim.

📰 PubSub

Rivista

Rivista is a cost-effective dynamic site generator, and an HTTP gateway to XMPP PubSub. It is usable with both, Syndication Feed Readers and Internet Browsers.

Rivista Journal is an open-source, minimalist journaling platform which is designed for writers who want a simple and distraction-free writing experience.

It is built to support the XMPP protocol, allowing people to publish content which can be shared and discovered across different platforms, such as Blasta, Libervia, and Movim, over the decentralized network.

In addition to being cost-effective and with less maintenance overhead, Rivista Journal focuses on providing a clean interface that emphasizes writing and reading without the clutter often associated with more complex content management systems.

Slixfeed

Slixfeed is a news aggregator bot for the XMPP communication network.

Slixfeed is easy to use and provides a convenient fashion to forward information from syndication feeds to XMPP PubSub nodes.

📰 PubSub

Utilities

Apprise

Apprise allows you to send a notification to almost all of the most popular notification services available to us today such as XMPP.

AtomToPubsub

AtomToPubsub is a simple Python script that parses Atom + RSS feeds and pushes the entries to a designated XMPP Pubsub Node.

📰 PubSub

django-xmpp-account

django-xmpp-account is a stand-alone Django application that manages registrations to your Jabber/XMPP server. It was written for account.jabber.at but can be used for any Jabber/XMPP server. Users can also use the site to reset their password or their email address or delete their account.

go-sendxmpp

A tool to send messages to an XMPP contact or MUC inspired by sendxmpp.

jj

jj is a simple FIFO and filesystem based Jabber/XMPP client. jj is inspired by ii IRC client.

jj is more tool than traditional instant messanger client. It can be easily extended with normal unix tools. It is perfect for bots and notifications. Interaction with jj is done by writing and reading files from the server directory which jj creates.

kiss-xmpp

kiss-xmpp is the simplest XMPP client possible (and usable for IRC through biboumi). It supports a single 1:1 or MUC chat at a time. It's primary use-case is doing XMPP & IRC over Telnet from a stock Atari 800XL (64kb RAM), which has, let's say, less than ideal vt100 emulation.

muchopper

Public chat room listing of the Jabber/XMPP Instant Messaging network https://search.jabber.network

Sendi

Sendi is just another xmppsend script. Sendi is based on python slixmpp library and support fews modern features like HTTP Upload and Omemo.

sendxmpp

sendxmpp is a perl-script to send xmpp (jabber), similar to what mail(1) does for mail.

sendxmpp-py

sendxmpp is the XMPP equivalent of sendmail.

sendxmpp-rs

sendxmpp is the XMPP equivalent of sendmail.

sj

Simple jabber client based on ideas from "Irc It".

The XMPP protocol is a monster and totally overengineered. But you have to deal with it because of its widespread use and good features. To beat this monster, this project tries to divide it into smaller parts and to create one program to handle one aspect of XMPP.

urlwatch

urlwatch is intended to help you watch changes in internet pages and get notified (via xmpp, e-mail, in your terminal or through various third party services) of any changes. The change notification will include the URL that has changed and a summary of what has changed.

Frameworks

Gofra

Gofra is an XMPP bot engine which is written in Go.

Python JabberBot

Programming your own Jabber bot can be fun and helpful. This is python-jabberbot, a Jabber bot framework for Python that enables you to easily write simple Jabber bots. You can use your Jabber bots to provide information about your running systems, to make your website interact with your visitors or notify you about updates or changes you monitor with your Python scripts.

⚠ Requires porting from Python version 2 to 3

🚧 Maintainers wanted

Slidge

XMPP gateway framework to various of proprietary networks.

Slidge is a software library, built in Python, for creating gateways from XMPP to other networks, such as Telegram, Discord, or WhatsApp.

It allows for precise and feature-complete coverage of features in both networks, and makes it easy to bring all your contacts under the single umbrella of XMPP!

XmppBot

The XmppBot framework is powered by Slixmpp and it allows to easily write bots that use the XMPP protocol.

It supports creation of commands by decorating functions in subclass or customize the bot operation completely.

MUC group chats are also supported.

Libraries

Erlang/Elixir XMPP

Erlang/Elixir XMPP parsing and serialization library on top of Fast XML

Fluux XMPP

Fluux XMPP is a Go XMPP library, focusing on simplicity, simple automation, and IoT.

Halcyon

Halcyon is an XMPP client library written in a Kotlin programming language. It provides implementation of core of the XMPP standard and processing XML. Additionally it provides support for many popular extensions (XEP's).

libcxmpp

A library for the open messaging and presence standard XMPP.

libomemo

Implements OMEMO (XEP-0384 v0.3.0) in C.

libstrophe

libstrophe is a minimal XMPP library written in C. It has almost no external dependencies, only an XML parsing library (expat or libxml are both supported). It is designed for both POSIX and Windows systems.

moxxmpp

moxxmpp is a XMPP library written purely in Dart for usage in Moxxy.

nbxmpp

python-nbxmpp is a Python library that provides a way for Python applications to use the XMPP network. This library was initially a fork of xmpppy.

📰 PubSub

network-protocol-xmpp

XMPP library in Haskell.

omemo_dart

A Dart implementation of the cryptography needed for OMEMO 0.8.3.

picomemo

Portable OMEMO implementation in C.

QXmpp

Cross-platform C++ / Qt XMPP client and server library.

SleekXMPP

SleekXMPP is deprecated in favor of Slixmpp, a fork which takes full advantage of Python 3 and asyncio.

SleekXMPP is an MIT licensed XMPP library for Python 2.7/3.4+, and is featured in examples in XMPP: The Definitive Guide by Kevin Smith, Remko Tronçon, and Peter Saint-Andre. If you've arrived here from reading the Definitive Guide, please see the notes on updating the examples to the latest version of SleekXMPP.

📰 PubSub

Slixmpp

Modern python XMPP library using asyncio.

📰 PubSub

Smack

Smack is an Open Source XMPP client library for instant messaging and presence. A pure Java library, it can be embedded into your applications to create anything from a full XMPP client to simple XMPP integrations such as sending notification messages and presence-enabling devices.

Strophe.js

Strophe.js is an XMPP library for JavaScript. Its primary purpose is to enable web-based, real-time XMPP applications that run in any browser.

xmpp-php

PHP client library for XMPP (Jabber) protocol.

This is low level socket implementation for enabling PHP to communicate with XMPP due to lack of such libraries online (at least ones I could find that had decent documentation).

xmpp-php

This class is designed for PHP backend to prebind a XMPP Session with XMPP servers like Openfire (tested), eJabberd etc.

XmppDotNet

A cross platform XMPP SDK for the full .NET Framework, .NET Core and Mono

aioxmpp

aioxmpp is a pure-python XMPP library using the asyncio standard library module from Python 3.4 (and available as a third-party module to Python 3.3).

xmpp.js

xmpp.js is a JavaScript library for XMPP.

XMPPHP

XMPPHP is an elegant PHP library for XMPP (Jabber).

xmpp.py

xmpppy is a Python library that is targeted to provide easy scripting with Jabber. Similar projects are Twisted Words and jabber.py.

This library was not designed from scratch. It inherits some code from jabberpy and have very similar API in many places. Though it is separate project since it have almost completely different architecture and primarily aims to work with jabberd2 - the new Open Source Jabber Server.

Bots

Angel

XMPP bot to preview links and file contents.

👥 Group chat

Blurbot

An anti XMPP spam bot based on mellium.im/xmpp in Go

👥 Group chat

BotLogMauve

XMPP bot which logs groupchat messages. Logs are in text format, with one file per day and per groupchat.

👥 Group chat

BukuBot

BukuBot is a bookmarks bot for the XMPP communication network.

👤 Private chat

feed-to-muc

feed-to-muc is an XMPP bot which queries Atom or RSS newsfeeds and posts the short summary to a XMPP MUC if there is a new article.

👥 Group chat

JabRSS by Christof

A simple syndication headline notification service for Jabber/XMPP.

👤 Private chat

JabRSS by Jens W. Wulf

Never miss a headline again! JabRSS is a simple syndication headline notification service for Jabber.

👤 Private chat

Jabber RSS Transport

Syndication feeds as contacts.

Jabber RSS Transport - одна из возможностей читать новости в Jabber'e через RSS, что позволяет не использовать отдельную программу, а получать их напрямую в вашем любимом Jabber-клиенте.

👥 Group chat

👤 Private chat

KaikOut

KaikOut is a moderation bot for XMPP which logs and suprvises group chat activity. It assists in blocking and preventing of abusive and unsolicited type of messages and activities.

👥 Group chat

LinkBot

This bot reveals the title of any shared link in a groupchat for quick content insight.

👥 Group chat

Llama-bot

Llama-bot enables engaging communication with the LLM (large language model) of llama.cpp, providing seamless and dynamic conversation with it.

👤 Private chat

Morbot

Morbo is a simple Slixmpp bot that will take new articles from listed RSS feeds and send them to assigned XMPP MUCs. This bot works better with TinyTinyRSS user's published articles feeds, since will look for a user's notes on shared articles.

👥 Group chat

panu

A Jabber (XMPP) bot. You can tell him quotes and it will reuse them in the appropriate context. It can compute how funny people in the room are according to other people's smileys, shorten URL and display the page's title... How cool is that?

sid

Moderation bot and also tracks activity and issues over the Debian project.

👥 Group chat

Slixfeed

Slixfeed is a news aggregator bot for the XMPP communication network.

Slixfeed is easy to use and provides a convenient access to Journal and News sites.

👥 Group chat

👤 Private chat

📰 PubSub

Stable Diffusion

XMPP bot that generates digital images from textual descriptions.

👥 Group chat

WhisperBot

XMPP bot that transliterates audio messages using OpenAI’s Whisper libraries.

👥 Group chat

👤 Private chat

XMPP Bot

An XMPP bot for making the link between XMPP conversations and webhooks.

👥 Group chat

Bridges

Biboumi

Biboumi is an XMPP gateway that connects to IRC servers and translates between the two protocols. It can be used to access IRC channels using any XMPP client as if these channels were XMPP MUCs.

cheogram-sip

Bidirectional bridge SIP <-> XMPP.

Jabagram

A lightweight and fast, full-featured bridge between XMPP and Telegram.

👥 Group chat

MAXS

MAXS (Modular Android XMPP Suite), a set of open-source GPLv3 licensed Android applications, allows you to control your Android device and receive notifications over XMPP. For example, you can compose and send a SMS message on your desktop/laptop by sending a command message from every standard compliant XMPP client to MAXS running on your smartphone.

👤 Private chat

Sip2Xmpp

Component for ejabberd server to receive call from a SIP account.

Slidge

XMPP gateway framework to various of proprietary networks.

Slidge is a software library, built in Python, for creating gateways from XMPP to other networks, such as Telegram, Discord, or WhatsApp.

It allows for precise and feature-complete coverage of features in both networks, and makes it easy to bring all your contacts under the single umbrella of XMPP!

sms4you

sms4you forwards messages from and to SMS and connects either with sms4you-xmpp or sms4you-email to choose the other mean of communication. Nice for receiving or sending SMS, independently from carrying a SIM card.

Telegabber

Jabber transport to Telegram network.

tg4xmpp

XMPP <-> Telegram Gateway.

XMPP MUC Message Gateway

A multipurpose JSON forwarder microservice from HTTP POST to XMPP MUC room over TLSv1.2 with Slixmpp.

xmpp-discord-bridge

A Discord to XMPP bridge that tries to look as native in each of the two chat systems as possible.

zhabogram

Jabber transport to Telegram network.

Servers

ejabberd

Robust, Scalable and Extensible Realtime Platform

XMPP Server + MQTT Broker + SIP Service

jackal

Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP).

MongooseIM

MongooseIM is Erlang Solutions' robust, scalable and efficient XMPP server, aimed at large installations. Specifically designed for enterprise purposes, it is fault-tolerant and can utilise the resources of multiple clustered machines.

Openfire

Openfire is a real time collaboration (RTC) server licensed under the Open Source Apache License. It uses the only widely adopted open protocol for instant messaging, XMPP Openfire is incredibly easy to setup and administer, but offers rock-solid security and performance.

Prosody

Prosody is a modern XMPP communication server. It aims to be easy to set up and configure, and efficient with system resources. Additionally, for developers it aims to be easy to extend and give a flexible system on which to rapidly develop added functionality, or prototype new protocols.

Snikket

Snikket is a simple, secure and private messaging server.

Tigase

Tigase XMPP Server is our flagship server software for building Instant Communication systems.

This is not just a chat server. It allows to maintain connections of millions of people or devices and transmit in real-time any kind of data. It is currently running on over 4,000 servers worldwide, connects tens of millions people and hundreds of millions devices and transmits millions of messages per second.

xmppd

The xmppd.py version 0.2 is a minimal XMPP server. It is so minimal that it lacks even a roster implementation and offline message delivery support. In fact - it complies [almost] only to XMPP Core (RFC 3920). I have not read XMPP IM (RFC 3921) yet ;)

xmppd.py is under development now. The goals of this development can be found here: http://www.saint-andre.com/blog/2004-08.html#2004-08-10T17:01

⚠ Requires porting from Python version 2 to 3

🚧 Maintainers wanted

Services

Software development and telecommunication services with expertise with XMPP.

Software

&yet

&yet, Design, Marketing Design, Illustration, Web Development, Web Design, App Design, App Development, Software Development.

andyet.com

Buddycloud

Tools, libraries and services for secure cloud & on-premise user and group messaging. Saves time. Scales up. Supports you.

Digicoop

Digicoop, based in France, develops online collaborative tools to help team work better together so that they can deliver their projects or reach their goals more efficiently with a more collaborative approach.

MBOA

Tackling your serious software development and maintenance needs.

mboa.dev

Telecommunication

Goodbytes - Openfire Hosting

Designed for small and medium sized enterprises, our hosting allows you to run your own Openfire-based real-time communications platform with ease.

goodbytes.im

Gultsch & Weiß GbR

Become truly independent and let us host your XMPP domain for your business or family.

account.conversations.im

Isode - Secure Messaging Software

A company which specializes of providing secure telecommunication services to government, military and intelligence agencies.

isode.com

JMP

JMP gives you a real phone number that is yours for calling and texting, including group and picture messages, that works from from your phone, computer, tablet, and anything else all at once. Because we use the Jabber network, you can use many existing apps even if we do not have an official recommendation for your device yet.

Sopranica

Soprani.ca is a vision of freedom-respecting and interoperable communication using open standards, including projects that generalize phone numbers so they're easier to use from computers, tablets, and any other device.

Maintainer

If you have questions or feedback regarding this list, then please create an Issue in our tracker, and optionally @mention the maintainer:

Contributors

With delight we thank our delightful contributors (please add yourself if you are missing).

In addition we would also like to thank MobilityData and all of the contributors who contributed to their list who have also released their contributions under CC0-1.0. This list started off as a fork of their list but with the non-FOSS and outdated entries removed after the maintainer of this list was compelled to sign a CLA that required their mailing address and telephone number.

License

CC0

To the extent possible under law, the maintainers and other contributors have waived all copyright and related or neighboring rights to this work.