README.md

April 30, 2026 · View on GitHub

Converse.js

XMPP Chat CI Tests Translation status

Converse is a modern, feature-rich and 100% client-side XMPP chat app that runs in a web browser. It can be used as a standalone web app or seamlessly integrated into existing websites.

Join our chat room (XMPP URL: discuss@conference.conversejs.org).

Quick Start

Try the hosted app at conversejs.org. You can also download and install Converse Desktop or Converse Tauri.

Or set up your own instance:

git clone git@github.com:conversejs/converse.js.git
cd converse.js
git clone https://github.com/conversejs/media.git media; // To see images like sponsorship logos
npm install
npm run build
npm run serve -- -p 8008

You can then open http://localhost:8008/dev.html in your browser to access Converse.

See our quickstart guide for more details.

Screenshots

Click to view screenshots

Overlay Mode

Screenshot of Converse in overlay mode

Fullpage Mode

Screenshot of Converse in full-page mode

Embedded Mode

Screenshot of Converse in embedded mode

Live Demos

Documentation

Comprehensive documentation is available at conversejs.org/docs, including:

Key Features

  • Multiple UI Options: Overlay chat boxes, full-page application, or embedded components
  • Rich Messaging: Message styling, corrections, reactions, and URL previews
  • Privacy-Focused: End-to-end encryption with OMEMO
  • User Status: Custom status messages and availability indicators
  • Notifications: Desktop notifications for new messages
  • File Sharing: HTTP File Upload support
  • Extensible: Plugin architecture based on pluggable.js
  • Internationalized: Translated into 40+ languages
  • Anonymous Login: Use without registration (server permitting)
  • Responsive: Works on desktop and mobile devices

Display Modes

Converse adapts to your needs with multiple display options:

ModeDescription
Fullpage (default)Functions as a single-page application covering the entire viewport
OverlayChat boxes appear on top of your website
EmbeddedIntegrates into specific elements in your page's DOM

XMPP Protocol Support

Converse implements a wide range of XMPP Extensions (XEPs), making it one of the most protocol-compliant web clients available.

View all supported XEPs (45+)
XEPNameNotes
RFC-7395XMPP Subprotocol for WebSocket
XEP-0004Data Forms
XEP-0030Service Discovery
XEP-0045Multi-user Chat
XEP-0048Bookmarks
XEP-0050Ad-Hoc Commands
XEP-0054VCard-temp
XEP-0059Result Set Management
XEP-0060Publish-SubscribeLimited support
XEP-0066Out of Band Data
XEP-0077In-band Registration
XEP-0085Chat State Notifications
XEP-0115Entity Capabilities
XEP-0124BOSH
XEP-0144Roster Item Exchange
XEP-0156Discovering Alternative XMPP Connection Methods
XEP-0163Personal Eventing ProtocolLimited support
XEP-0184Message Receipt
XEP-0198Stream Management
XEP-0199XMPP Ping
XEP-0203Delayed Delivery
XEP-0206XMPP Over BOSH
XEP-0245The /me Command
XEP-0249Direct MUC Invitations
XEP-0280Message Carbons
XEP-0297Stanza ForwardingLimited support
XEP-0308Last Message Correction
XEP-0313Message Archive Management
XEP-0316MUC Eventing ProtocolLimited support
XEP-0317HatsLimited support
XEP-0333Chat MarkersLimited support
XEP-0352Client State Indication
XEP-0357Push Notifications
XEP-0359Unique and Stable Stanza IDs
XEP-0363HTTP File Upload
XEP-0372References
XEP-0382Spoiler Messages
XEP-0384OMEMO Encryption
XEP-0393Message Styling
XEP-0422Message FasteningLimited support
XEP-0424Message Retractions
XEP-0425Message Moderation
XEP-0437Room Activity Indicators
XEP-0453DOAP Usage in XMPP
XEP-0454OMEMO Media Sharing
XEP-0461Message Replies

Integration Options

Converse integrates with popular platforms and frameworks:

XMPP Servers

ServerPlugin
Openfireinverse
Prosodymod_conversejs
ejabberdmod_conversejs

Web Frameworks & CMS

PlatformIntegration
Elggplugin
Peertubepeertube-plugin-livechat
PàdéPàdé
Roundcuberoundcube-converse.js-xmpp-plugin
Tiki Wiki CMS Groupwarebuilt-in optional feature
Ubuntu-TouchConverseJS for Ubuntu-Touch
WordPressConverseJS Plugin

Support the Project

If you find Converse useful, please consider supporting its development:

Thanks to everyone who has supported this project over the years through donations, testing, bug reports, and code contributions.

Sponsors

BairesDev Blokt Crypto & Privacy LITSLINK software development KeyCDN