The open-source messaging server behind the world's largest deployments.

ejabberd is a robust, massively scalable real-time platform combining an XMPP server, MQTT broker, and SIP service. Written in Erlang by the ProcessOne team since 2002, it has powered messaging at WhatsApp, Nintendo Switch, the BBC, Facebook, Nokia, and hundreds of organizations worldwide.

2002 First release
2M Concurrent users per node
400+ XMPP extensions
28 Languages supported
Trusted by
ejabberd is pronounced "e-jabber-d". The "e" stands for Erlang, the runtime built for fault-tolerant distributed systems. "jabber" is the precursor to XMPP. "d" for daemon, the Unix term for a background process. Started in 2002 by Alexey Shchepin, it has been maintained and extended by ProcessOne ever since.
Open source since 2002
XMPP, MQTT, SIP and Matrix
2 million concurrent users per node
Proven at WhatsApp scale

The right protocol for every use case.

ejabberd is a true multi-protocol platform. Rather than bolting on secondary protocols, each one is a first-class citizen with full server-side support.

XMPP

The open standard for real-time messaging, presence, and federation. XMPP's extensibility model (over 400 published protocol extensions) makes it adaptable to any use case, from secure enterprise chat to large-scale multiplayer gaming. ejabberd has high compliance with XMPP and every major extension.

MQTT

A lightweight publish-subscribe protocol designed for constrained devices and low-bandwidth networks. ejabberd's built-in MQTT broker lets you connect IoT sensors, smart home devices, and telemetry pipelines to the same infrastructure as your messaging stack, without running a separate broker.

SIP and WebRTC

ejabberd includes a SIP service for voice calls, and supports Jingle, the XMPP extension for peer-to-peer multimedia sessions. Combined with WebSocket support, this makes ejabberd a natural integration point for browser-based voice and video using WebRTC stacks.

Matrix

A distributed protocol for continuously merged, decentralized conversations. ejabberd's Matrix support brings interoperability with the Matrix ecosystem, enabling organizations to bridge their XMPP infrastructure with Matrix-based clients and federated rooms without operating a separate homeserver.

Built to survive anything.

ejabberd's architecture was designed from the ground up for systems that cannot fail. Over two decades of production deployments have hardened every layer.

Massively scalable

Tested at 2 million concurrent sessions on a single node. ejabberd uses consistent hashing for clustering, eliminating full data replication and keeping internode communication lean as you grow.

  • Horizontal clustering out of the box
  • Consistent hashing, no full replication
  • Memory-efficient per-session data model
  • PubSub broadcast optimized for cluster setups

Fault-tolerant by design

Erlang's "let it crash" philosophy means failures are isolated and recovered automatically. ejabberd runs hot upgrades without restarting, so your uptime is never sacrificed for a software update.

  • All cluster nodes are active, no standby waste
  • Live code upgrades with no downtime
  • Message delivery acknowledgment at server level
  • Mobile disconnection handling built in

Mobile and web ready

ejabberd ships with the features modern mobile and web apps depend on. Push notifications, multi-device sync, message archives, and WebSocket support are all built in, not afterthoughts.

  • Push notifications: Apple, Google, and WebPush
  • Message Archive Management (MAM)
  • Multi-device presence and sync
  • WebSocket and BOSH for web clients
  • Mobile libraries: XMPPFramework (iOS), Smack (Android)

Extensible and manageable

ejabberd's modular architecture and powerful API let you extend behavior with minimal code. A full REST API and CLI tool give administrators fine-grained control over every aspect of the server.

  • Plugin API with tens of third-party extensions
  • REST API for user and room management
  • ejabberdctl CLI for automation and scripting
  • Virtual hosting support
  • PostgreSQL, MySQL, LDAP, and ODBC backends

Choose your deployment model.

ejabberd comes in three editions, from a fully open-source server you run yourself to a fully managed cloud platform. Compare all editions in detail →

Community Server

ejabberd Community Server

The open-source server, freely available under the GPLv2 license. Self-hosted, community-supported, and maintained by ProcessOne with regular releases.

  • GPLv2 open source license
  • XMPP, MQTT, SIP, Matrix
  • Community forum and documentation
  • Regular public releases
Download free →
Business Edition

ejabberd Business Edition

Long-Term Support releases, enterprise SLA, priority security patches, and direct access to the ProcessOne engineering team. For organizations where downtime has real operational cost.

  • LTS releases with 3-year support window
  • Mobile push enhancements and compliance modules
  • Advanced clustering and monitoring (300+ metrics)
  • On-premise or dedicated managed deployment
  • Direct support from the ejabberd authors
Contact Sales →
Managed SaaS

Fluux

All Business Edition features, fully managed by ProcessOne. No servers to run, no ops team needed. Focus on your product while we handle the infrastructure.

  • All Business Edition features
  • Fully operated by ProcessOne
  • Custom domains and full API access
  • From €200/month, scales with your usage
Start on Fluux →

Ready to deploy ejabberd?

Download the Community Server, explore the documentation, or contact us about the Business Edition and what it takes to run ejabberd at scale.

Documentation  ·  Source code  ·  Compare editions