jcbrand / converse.js
Browser based XMPP instant messaging client
Installs: 156 481
Dependents: 0
Suggesters: 0
Security: 1
Stars: 3 181
Watchers: 132
Forks: 800
Open Issues: 261
Language:JavaScript
pkg:composer/jcbrand/converse.js
- dev-master
- v12.0.0
- v11.0.1
- v11.0.0
- 10.x-dev
- v10.1.8
- v10.1.7
- v10.1.6
- v10.1.5
- v10.1.4
- v10.1.3
- v10.1.2
- v10.1.1
- v10.1.0
- v10.0.0
- v9.1.1
- v9.1.0
- v9.0.0
- 8.x-dev
- v8.0.1
- v8.0.0
- 7.x-dev
- v7.0.6
- v7.0.5
- v7.0.4
- v7.0.3
- v7.0.2
- v7.0.1
- v7.0.0
- 6.x-dev
- v6.0.1
- v6.0.0
- 5.x-dev
- 5.0.x-dev
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v4.2.0
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.3.4
- v3.3.3
- 3.3.2
- v3.3.1
- v3.3.0
- v3.2.2
- v3.2.1
- v3.2.0
- 3.2.0-rc
- 3.1.x-dev
- v3.1.1
- v3.1.0
- 3.0.x-dev
- v3.0.2
- v3.0.1
- v3.0.0
- 2.0.x-dev
- v2.0.6
- v2.0.5
- dev-dependabot/npm_and_yarn/sass-loader-16.0.6
- dev-dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-8.46.2
- dev-dependabot/npm_and_yarn/typescript-eslint/parser-8.46.2
- dev-dependabot/npm_and_yarn/eslint-9.38.0
- dev-dependabot/npm_and_yarn/eslint/js-9.38.0
- dev-dependabot/npm_and_yarn/typescript-5.9.3
- dev-jcbrand/texture2
- dev-weblate
- dev-dependabot/npm_and_yarn/src/headless/form-data-4.0.4
- dev-marclaporte-patch-1
- dev-jcbrand/app-switcher
- dev-jcbrand/disco-refresh-timeout
- dev-jcbrand/observable-avatar
- dev-xep-0483-doap-update
- dev-deleolajide-patch-1
- dev-jcbrand/nextjs
- dev-jcbrand/swc
- dev-jcbrand/refactor-url-headers
- dev-jcbrand/muc-occupant-jid
- dev-BetaRays/domain-group-disco-button
- dev-jcbrand/various
- dev-BetaRays/unbookmarked-name-duplication-fix
- dev-3499-sending-a-message-with-an-uppercase-emoji-code-breaks-the-message-field
- dev-muc_badges_short_labels
- dev-occupant_action_menu
- dev-fix_accessibility
- dev-3476-forms-fixed-fields-ui
- dev-fix_message_actions_dropdown
- dev-fix_singleton_mode_bootstrap5
- dev-jcbrand/theme-cyberpunk
- dev-fix_occupant_title_placement
- dev-jcbrand/split-muc-sidebar
- dev-fix_3441
- dev-documentation_override_custom_elements
- dev-fix_custom_emoji_path
- dev-jcbrand/xform-parsing
- dev-BetaRays/copy-quote-actions
- dev-jcbrand/skeletor-types-stuck
- dev-jcbrand/typescript
- dev-jcbrand/remove-urijs
- dev-moderation_ui
- dev-jcbrand/next
- dev-add_contact_autocomplete
- dev-deleolajide-patch-1-1
- dev-audio-video-capibility
- dev-password_reset
- dev-add-muc
- dev-jcbrand/headlines-refactor
- dev-jcbrand/json-meta
- dev-jcbrand/2733-handle-dupe
- dev-jcbrand/create-muc-modal-with-name
- dev-jcbrand/render-media-array
- dev-jcbrand/xep-0333
- dev-jcbrand/xep-0359-check-support
- dev-rpin-2021-06-29
- dev-jcbrand/XEP-0454
- dev-afuggini/show_url_previews
- dev-jcbrand/rerender-jid
- dev-afuggini/id-to-class
- dev-jcbrand/bottom-panel-refactor
- dev-pin-2021-03-16
- dev-jcbrand/custom-headers
- dev-jcbrand/modtools-forms
- dev-rpin-2021-02-10
- dev-jcbrand/prune-history
- dev-jcbrand/rai
- dev-rpin-2020-12-15
- dev-jcbrand/quick-ban
- dev-afuggini/muting-users-2
- dev-afuggini/muting-users
- dev-afuggini/ban_users
- dev-rpin-2020-10-06
- dev-ietf-fixes
- dev-jcbrand/chatviews-element
- dev-jcbrand/converse-element
- dev-afuggini/close-modal-on-click-outside
- dev-afuggini/maintain-scroll-position
- dev-jcbrand/minimized-session
- dev-jcbrand/chatboxviews-render
- dev-jcbrand/web-push
- dev-jcbrand/message-form-refactor
- dev-rpin-2020-06-16
- dev-rpin-2020-06-02
- dev-componentized-nickname-form
- dev-afuggini/make-nickname-great-again
- dev-unread-flag-only-on-message
- dev-jcbrand/lit-html-message-form
- dev-settings
- dev-wait-for-save
- dev-clickable-image-component
- dev-declarative-chatroom-area
- dev-message_history_size
- dev-smacks-received-msgs
- dev-service-admin
- dev-muc-session-connection-status
- dev-converse-chats
- dev-jxt
- dev-clearsession-options
- dev-vcard-refactor
- dev-5.0.0-hotfix
- dev-messageSend
- dev-insert-message-profiling
- dev-contenteditable
- dev-production
- dev-omemo-improvements
- dev-localforage-rebased2
- dev-marker-updates
- dev-xep-0333
- dev-login-landing
- dev-webpack-tests
- dev-share-muc
- dev-mailbox
- dev-converse-model-promise
- dev-api-sendiq
- dev-multi-session-nicks
- dev-appsettings
- dev-match-media
- dev-split-muc-views
- dev-selenium
This package is auto-updated.
Last update: 2025-10-24 06:01:32 UTC
README
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
Live Demos
- Main App: Try the full application
- Anonymous Login: Test without creating an account
- Embedded Chat Room: See how to embed a single chat room
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 | XMPP Subprotocol for WebSocket | |
| XEP-0004 | Data Forms | |
| XEP-0030 | Service Discovery | |
| XEP-0045 | Multi-user Chat | |
| XEP-0048 | Bookmarks | |
| XEP-0050 | Ad-Hoc Commands | |
| XEP-0054 | VCard-temp | |
| XEP-0059 | Result Set Management | |
| XEP-0060 | Publish-Subscribe | Limited support | 
| XEP-0066 | Out of Band Data | |
| XEP-0077 | In-band Registration | |
| XEP-0085 | Chat State Notifications | |
| XEP-0115 | Entity Capabilities | |
| XEP-0124 | BOSH | |
| XEP-0144 | Roster Item Exchange | |
| XEP-0156 | Discovering Alternative XMPP Connection Methods | |
| XEP-0163 | Personal Eventing Protocol | Limited support | 
| XEP-0184 | Message Receipt | |
| XEP-0198 | Stream Management | |
| XEP-0199 | XMPP Ping | |
| XEP-0203 | Delayed Delivery | |
| XEP-0206 | XMPP Over BOSH | |
| XEP-0245 | The /me Command | |
| XEP-0249 | Direct MUC Invitations | |
| XEP-0280 | Message Carbons | |
| XEP-0297 | Stanza Forwarding | Limited support | 
| XEP-0308 | Last Message Correction | |
| XEP-0313 | Message Archive Management | |
| XEP-0316 | MUC Eventing Protocol | Limited support | 
| XEP-0317 | Hats | Limited support | 
| XEP-0333 | Chat Markers | Limited support | 
| XEP-0352 | Client State Indication | |
| XEP-0357 | Push Notifications | |
| XEP-0359 | Unique and Stable Stanza IDs | |
| XEP-0363 | HTTP File Upload | |
| XEP-0372 | References | |
| XEP-0382 | Spoiler Messages | |
| XEP-0384 | OMEMO Encryption | |
| XEP-0393 | Message Styling | |
| XEP-0422 | Message Fastening | Limited support | 
| XEP-0424 | Message Retractions | |
| XEP-0425 | Message Moderation | |
| XEP-0437 | Room Activity Indicators | |
| XEP-0453 | DOAP Usage in XMPP | |
| XEP-0454 | 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
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
 
  
  
     
  
  
     
  
                