Swiften and Stroke are the obvious choices when looking for an XMPP library. Our deep knowledge of XMPP standards and extensive experience means that you don't have to spend time reading the specs and determining correct behaviour, we've been doing that for over a decade and the two founders of the Swift project even wrote the book on it. Swiften and Stroke are used and trusted by a wide range of developers, both commercial and open-source, for a surprising variety of different applications on desktop and mobile devices.


Swiften is a robust, high-quality, standards-compliant, cross-platform, and performant C++ library for implementing XMPP applications. Swiften is used as the back-end library for the Swift IM client and other open source and commercial projects. The current version of Swiften is available via the Downloads page.


Stroke is a native Java (no JNI) port of the Swiften C++ library for implementing XMPP applications.

The current version of Stroke is available via the Downloads page.

Isode Logo

Commercial Licenses

By default Swiften and Stroke are licensed under the GNU General Public License. Commercial licenses and commercial support contracts are available from Isode, a UK-based software house specialising in messaging and directory server software.

For more information contact the Isode Sales team. Details on the range of free and commercial support options can be found on the Help page.


The Swiften Developer's Guide is a tutorial-style introduction to building XMPP applications with Swiften. As Stroke shares a design with Swiften, this guide is also useful for Stroke users. The API Reference Guide is a full reference of the public classes offered by Swiften.