No Description

JC Brand 6346cef0b1 bugfix: allow entering newlines view shift+enter 1 week ago
.github c3222d07cc Upgrade `setup-node` to fix CI failure 3 weeks ago
3rdparty 3328e1c94c Add libsignal as a 3rd party dependency 1 year ago
demo f279218bb9 Fix two failing tests 1 week ago
docs d545f904ef Refine docs and build website CSS as part of the `build` step 2 weeks ago
images 9a2ded5a9a Remove global lodash 4 years ago
logo d74daccfbb Fix logo transparency and add extra platforms in doap file 2 years ago
sounds 1d2b4c4523 Add sound file credits 10 years ago
src 6346cef0b1 bugfix: allow entering newlines view shift+enter 1 week ago
webpack 6c5bd1d6af Fix headless webpack build 2 weeks ago
.aiderignore 614916452c Update .aiderignore 3 months ago
.gitignore 5890723ae9 Add spinner component 3 weeks ago
.nvmrc f2605f98ab Update to Node 22 2 months ago
.prettierrc f27452391b Submit and close `confirm` prompt on enter 1 month ago
CHANGES.md c5e148b933 Fixes #3340 Save unsent messages when switching chats 1 month ago
CONTRIBUTING.md 837f05782b Reorder sections 1 year ago
COPYRIGHT 9114db8764 Release 10.1.5 1 year ago
LICENSE 9008a1d4d4 Move license to repo root 7 years ago
Makefile e4ddac56d2 Remove JSDoc. 3 weeks ago
README.md adba4df1ff Add newer screenshots to readme 1 week ago
RELEASE.md 9114db8764 Release 10.1.5 1 year ago
babel.config.json 603f8349e8 Bump eslint and use `@babel/eslint-parser` 2 years ago
composer.json b7ae9f212c Replace http: with https: in conversejs.org links 6 years ago
conversejs.doap 66a944dadb Add support for XEP-0191 Blocking Command 4 months ago
dev.html b032e6a289 Show background animation in login form 1 week ago
eslint.config.mjs ca1d28a050 Update eslint 1 month ago
fullscreen.html bc22a97d6b Updates #997 3 weeks ago
index.html adba4df1ff Add newer screenshots to readme 1 week ago
jshintrc f353fe8611 Bugfix for headline messages. 9 years ago
karma.conf.js e90649d882 bugfix: unaved contacts' `subscription` value is `undefined`, not `'none'`. 1 week ago
local.html 8769b2970a Refactor MAM to fetch a limited number of newest messages first. Fixes #1810 2 months ago
manifest.json b70d56426b Bump css loader 11 months ago
package-lock.json e4ddac56d2 Remove JSDoc. 3 weeks ago
package.json d545f904ef Refine docs and build website CSS as part of the `build` step 2 weeks ago
postcss.config.js 3f6ad0d950 CSS build fixes 2 years ago
requirements.txt fcd3c86cf4 Fix docs generation by upgrading Sphinx. 8 months ago
tsconfig.json 41405a0821 Create @converse/log package 1 month ago

README.md

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
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](https://conversejs.org/media/screenshots/converse-overlayed.png) ### Fullpage Mode ![Screenshot of Converse in full-page mode](https://conversejs.org/media/screenshots/converse-enter-muc.png) ### Embedded Mode ![Screenshot of Converse in embedded mode](https://conversejs.org/media/screenshots/converse-prosody.png)

Live Demos

Documentation

Comprehensive documentation is available at conversejs.org/docs/html, 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:

Mode Description
Fullpage (default) Functions as a single-page application covering the entire viewport
Overlay Chat boxes appear on top of your website
Embedded Integrates 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+) | XEP | Name | Notes | |-----|------|-------| | [RFC-7395](https://tools.ietf.org/html/rfc7395) | XMPP Subprotocol for WebSocket | | | [XEP-0004](https://xmpp.org/extensions/xep-0004.html) | Data Forms | | | [XEP-0030](https://xmpp.org/extensions/xep-0030.html) | Service Discovery | | | [XEP-0045](https://xmpp.org/extensions/xep-0045.html) | Multi-user Chat | | | [XEP-0048](https://xmpp.org/extensions/xep-0048.html) | Bookmarks | | | [XEP-0050](https://xmpp.org/extensions/xep-0050.html) | Ad-Hoc Commands | | | [XEP-0054](https://xmpp.org/extensions/xep-0054.html) | VCard-temp | | | [XEP-0059](https://xmpp.org/extensions/xep-0059.html) | Result Set Management | | | [XEP-0060](https://xmpp.org/extensions/xep-0060.html) | Publish-Subscribe | Limited support | | [XEP-0066](https://xmpp.org/extensions/xep-0066.html) | Out of Band Data | | | [XEP-0077](https://xmpp.org/extensions/xep-0077.html) | In-band Registration | | | [XEP-0085](https://xmpp.org/extensions/xep-0085.html) | Chat State Notifications | | | [XEP-0115](https://xmpp.org/extensions/xep-0115.html) | Entity Capabilities | | | [XEP-0124](https://xmpp.org/extensions/xep-0124.html) | BOSH | | | [XEP-0144](https://xmpp.org/extensions/xep-0144.html) | Roster Item Exchange | | | [XEP-0156](https://xmpp.org/extensions/xep-0156.html) | Discovering Alternative XMPP Connection Methods | | | [XEP-0163](https://xmpp.org/extensions/xep-0163.html) | Personal Eventing Protocol | Limited support | | [XEP-0184](https://xmpp.org/extensions/xep-0184.html) | Message Receipt | | | [XEP-0198](https://xmpp.org/extensions/xep-0198.html) | Stream Management | | | [XEP-0199](https://xmpp.org/extensions/xep-0199.html) | XMPP Ping | | | [XEP-0203](https://xmpp.org/extensions/xep-0203.html) | Delayed Delivery | | | [XEP-0206](https://xmpp.org/extensions/xep-0206.html) | XMPP Over BOSH | | | [XEP-0245](https://xmpp.org/extensions/xep-0245.html) | The /me Command | | | [XEP-0249](https://xmpp.org/extensions/xep-0249.html) | Direct MUC Invitations | | | [XEP-0280](https://xmpp.org/extensions/xep-0280.html) | Message Carbons | | | [XEP-0297](https://xmpp.org/extensions/xep-0297.html) | Stanza Forwarding | Limited support | | [XEP-0308](https://xmpp.org/extensions/xep-0308.html) | Last Message Correction | | | [XEP-0313](https://xmpp.org/extensions/xep-0313.html) | Message Archive Management | | | [XEP-0316](https://xmpp.org/extensions/xep-0316.html) | MUC Eventing Protocol | Limited support | | [XEP-0317](https://xmpp.org/extensions/xep-0317.html) | Hats | Limited support | | [XEP-0333](https://xmpp.org/extensions/xep-0333.html) | Chat Markers | Limited support | | [XEP-0352](https://xmpp.org/extensions/xep-0352.html) | Client State Indication | | | [XEP-0357](https://xmpp.org/extensions/xep-0357.html) | Push Notifications | | | [XEP-0359](https://xmpp.org/extensions/xep-0359.html) | Unique and Stable Stanza IDs | | | [XEP-0363](https://xmpp.org/extensions/xep-0363.html) | HTTP File Upload | | | [XEP-0372](https://xmpp.org/extensions/xep-0372.html) | References | | | [XEP-0382](https://xmpp.org/extensions/xep-0382.html) | Spoiler Messages | | | [XEP-0384](https://xmpp.org/extensions/xep-0384.html) | OMEMO Encryption | | | [XEP-0393](https://xmpp.org/extensions/xep-0393.html) | Message Styling | | | [XEP-0422](https://xmpp.org/extensions/xep-0422.html) | Message Fastening | Limited support | | [XEP-0424](https://xmpp.org/extensions/xep-0424.html) | Message Retractions | | | [XEP-0425](https://xmpp.org/extensions/xep-0425.html) | Message Moderation | | | [XEP-0437](https://xmpp.org/extensions/xep-0437.html) | Room Activity Indicators | | | [XEP-0453](https://xmpp.org/extensions/xep-0453.html) | DOAP Usage in XMPP | | | [XEP-0454](https://xmpp.org/extensions/xep-0454.html) | OMEMO Media Sharing | |

Integration Options

Converse integrates with popular platforms and frameworks:

XMPP Servers

Server Plugin
Openfire inverse
Prosody mod_conversejs
Ejabberd mod-conversejs

Web Frameworks & CMS

Platform Integration
Elgg plugin
Peertube peertube-plugin-livechat
Pàdé Pàdé
Roundcube roundcube-converse.js-xmpp-plugin
Tiki Wiki CMS Groupware built-in optional feature
Ubuntu-Touch ConverseJS for Ubuntu-Touch
WordPress ConverseJS 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