/converse.js

Web-based XMPP/Jabber chat client written in JavaScript

Primary LanguageJavaScriptMozilla Public License 2.0MPL-2.0

XMPP Chat CI Tests Bountysource bounties Translation status

Converse is a web based XMPP/Jabber chat client.

You can either use it as a webchat app, or you can integrate it into your own website.

It's 100% client-side JavaScript, HTML and CSS and the only backend required is a modern XMPP server.

Please support this project via Patreon or Liberapay

Demo

Converse is hosted and can be used at https://conversejs.org.

A demo showing anonymous login is available at https://conversejs.org/demo/anonymous.html and a demo which shows how you can embed a single chat room into a page is avialable at https://conversejs.org/demo/embedded.html.

Documentation

The developer/integrator documentation can be found at https://conversejs.org/docs/html.

You'll probably want to begin with the quickstart guide, which shows you how to use the CDN (content delivery network) to quickly get a demo up and running.

Converse modes

Overlay

In overlay mode, Converse appears overlayed chats on top of the website.

Screenshot of Converse in overlay mode

Fullpage

In fullpage mode, Converse behaves like a single-page app that covers the whole browser viewport.

Screenshot of Converse 9.0.0 in fullpage mode

Dark mode

Screenshot of Converse 9.1.0 with a dark theme

Embedded

In embedded mode, Converse can be embedded into an element in the DOM.

Screenshot of Converse in embedded mode

Features

  • Available as overlayed chat boxes or as a fullscreen application. See inverse.chat for the fullscreen version.
  • Custom status messages
  • Desktop notifications
  • A plugin architecture based on pluggable.js
  • Chat statuses (online, busy, away, offline)
  • Anonymous logins, see the anonymous login demo
  • URL Previews (requires server support, for example mod_ogp
  • Translated into over 30 languages

Supported XMPP Extensions

Integration into other servers and frameworks

XMPP servers

Other

Tests

We use behavior-driven tests written with jasmine.js.

Run make check to execute all the tests.

Licence

Converse.js is released under the Mozilla Public License (MPL).

Attribution

Emoji images are courtesy of Twemoji.

Support

Issues can be logged on the Github issue tracker.

Donations

A heartfelt thanks for everyone who has supported this project over the years. Many people have contributed testing, bugfixes, features and corrections.

We accept donations via Patreon and Liberapay.

Sponsors

Blokt Crypto & Privacy

Codefirst

KeyCDN

Original Energie

Prime Sound