Profanity is a console based XMPP client using ncurses and libstrophe, inspired by Irssi.
Profanity only supports one account per instance. But you certainly can run several instances of Profanity.
The user interface is split into four main areas: Title bar, main window area, status bar, and input bar.
Profanity is free and open source software.
Key Features
- Supports encrpytion – OTR, PGP, and OMEMO.
- Supports XMPP chat services.
- Roster management.
- Flexible resource and priority settings.
- Provides an API for plugins to access various functionality. Plugins may also implement ‘hooks’ that Profanity will call on specific events.
- Supports plugins written in Python and C. Examples include:
- ascii.py – convert text to ascii art text and send to the current recipient or room.
- browser.py – open received links in the system default browser.
- clients.py – show client software used by each occupant in the current chat room, using xep-0092 Software Version.
- imgur.py – send a local image file or a screenshot to a recipient or chat room using imgur.com.
- paste.py – send the contents of the clipboard to the current recipient or room.
- termuxnotify.py – notifications for Termux on Android.
- presence_notify.py – configure desktop notifications for presence updates from contacts.
- say.py – read out loud messages from recipients or in chat rooms.
- sounds.py – play sounds when messages received.
- syscmd.py – display the result shell commands in a new window. Send results of shell commands to recipients or chat rooms.
- wikipedia-prof.py – search wikipedia and show search results, pages, links etc in a new window.
- Cross-platform support – runs under Linux, FreeBSD, OpenBSD, Android, Mac OS X, and Windows.
Website: profanity-im.github.io
Support: User Guide, FAQ, GitHub Code Repository
Developer: James Booth
License: GNU General Public License, either version 3 of the License, or (at your option) any later version.

Profanity is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| Console Based XMPP Clients | |
|---|---|
| Profanity | OTR, PGP and OMEMO encryption, inspired by Irssi |
| Poezio | Python based console based Jabber/XMPP client |
| mcabber | Small client with SASL/SSL/TLS support, MUC support, and more |
| Freetalk | Similar to Emacs, you can customize and extend Freetalk with Scheme language |
| BitlBee | IRC gateway program for a variety of instant messaging protocol |
| BarnOwl | IM client forked from the ktools owl |
| CenterIM | Uses the libpurple library as a communication backend |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

