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