Converse.js vs Profanity

A side-by-side comparison of two self-hosted matrix & xmpp options — licensing, setup difficulty, resource needs, and what each one replaces.

Not the right match-up?
FeatureConverse.jsProfanity
Deploy effortUnder-an-hour setupRead-the-docs project
Health score88 · Excellent84 · Excellent
CategoryMatrix & XMPPMatrix & XMPP
LicenseMPL-2.0GPL-3.0
LanguageJavaScriptC
Setup difficultyEasyMedium
Min. RAM64 MB32 MB
Deploymentdocker, bare-metal, sourcebinary, source
GitHub stars★ 3,294★ 1,542
First released20132012
ReplacesSlackSlack

What are Converse.js and Profanity?

Converse.js

Converse.js is a free and open-source XMPP chat client that runs in the browser. It can be embedded into websites or hosted as a standalone full-page chat application.

  • Embeddable XMPP web client
  • OMEMO encryption support
  • Plugin architecture
  • Works with any XMPP server

Profanity

Profanity is a console XMPP client whose interface is inspired by irssi. It supports OMEMO and OTR encryption, group chats, and a fully keyboard-driven workflow for the terminal.

  • Terminal interface
  • OMEMO and OTR encryption
  • Keyboard-driven workflow
  • Plugin support

Converse.js vs Profanity: key differences

Converse.js is written in JavaScript, while Profanity is built with C. Licensing differs — MPL-2.0 for Converse.js versus GPL-3.0 for Profanity. Profanity is the lighter option, starting around 32 MB of RAM against 64 MB for Converse.js. Converse.js has the considerably larger community, at 3,294 GitHub stars versus 1,542. Converse.js lists first-class Docker deployment; Profanity does not.

Why pick each one

Choose Converse.js if…

  • Released under the MPL-2.0 license
  • Easy to set up — beginner-friendly
  • First-class Docker support for quick deployment
  • Active community (3.3k GitHub stars)

Watch out for

  • Requires an XMPP server
  • No voice or video
Converse.js details

Choose Profanity if…

  • Released under the GPL-3.0 license
  • Active community (1.5k GitHub stars)
  • Written in C
  • Tiny footprint — runs in 32 MB RAM
Profanity details

Frequently asked questions

Is Converse.js or Profanity better?

Converse.js is the stronger all-round pick: it has both the larger community and the simpler easy setup. Consider Profanity if its specific feature set fits your needs better.

Are Converse.js and Profanity free and open-source?

Yes. Converse.js is licensed under MPL-2.0 and Profanity under GPL-3.0. Both can be self-hosted at no software cost.

Can I run Converse.js and Profanity with Docker?

Converse.js: yes. Profanity: check the project docs for container support.

Which is lighter on resources, Converse.js or Profanity?

Profanity has the smaller minimum footprint at 32 MB of RAM, compared to about 64 MB for Converse.js. Real-world usage depends on library size, user count, and enabled features.

Related comparisons