Skip to content

Features

Converse is a full-featured XMPP client that runs in any modern browser. Below is an overview of what it offers.

  • One-to-one messaging — Private chats with delivery receipts, typing indicators, and message corrections
  • Group chats (MUC) — Multi-user chatrooms with moderation, bookmarks, and persistent history
  • Message reactions — React to messages with emojis
  • Message corrections & retractions — Edit or delete sent messages
  • Chat states — See when contacts are typing, composing, or inactive
  • URL previews — Links in messages can be rendered as clickable previews
  • OMEMO encryption — End-to-end encrypted messaging as well as encrypted file sharing.
  • Client certificate auth — Passwordless login via SASL-EXTERNAL and x509 certificates.
  • Untrusted device mode — Check “This is not a trusted device” at login to use sessionStorage instead of localStorage, clearing all data on logout

Upload and share files directly in chat via HTTP File Upload (XEP-0363). The file server is configured by your XMPP server admin.

  • Embeddable — Run as a standalone page, a floating overlay, or embedded inside a <div>
  • URL-based chat opening — Link directly to a chat or room with URL fragments like #converse/chat?jid=user@domain
  • Session management — Auto-login users already authenticated on your website
  • Plugin system — Extend or customize behavior with plugins
  • Sound alerts — Play a sound when new messages arrive
  • Desktop notifications — Browser notifications when the tab isn’t visible

Converse is translated into 30+ languages, with translations loaded on demand from JSON files. Contribute or update translations on Weblate.

Moderators can use these slash commands in group chats:

CommandDescriptionExample
/banBan a user permanently/ban $nickname
/kickRemove a user (they can rejoin)/kick $nickname [$reason]
/mutePrevent a user from posting/mute $nickname [$reason]
/voiceUnmute a user/voice $nickname [$reason]
/opGrant moderator status/op $nickname [$reason]
/deopRemove moderator status/deop $nickname [$reason]
/topicSet the room topic/topic New topic
/nickChange your nickname/nick NewNick
/meSpeak in third person/me waves hello
/clearClear visible messages/clear
/helpShow available commands/help

Converse uses “host-based” security — you trust the server that delivers the JavaScript each time you load the page. This differs from desktop apps where you trust the binary at install time.

What this means:

  • You must trust the web server hosting Converse, but not necessarily the XMPP server (they can be different hosts)
  • OMEMO protects messages from the XMPP server since it never sees your private key
  • The dynamic nature of web delivery makes independent security audits more difficult

How to improve security:

Thank you to our sponsors

If you'd like to sponsor this project, please visit Github, Patreon, Liberapay or contact us.