Monal — XMPP Chatting
Open source XMPP Messenger
Only for Mac
Free
There has never been a better time to get into XMPP, a free public chat network no one controls or owns. Monal is a fast and user friendly way to use XMPP. Just download the app, login or register and you are ready to chat in minutes. It looks and works the way other apps do, so there is no need to “learn XMPP” or even care what it is.
Notable features:
- Open Source
- No Ads! Strong focus on privacy. Does not phone home and does not have software "metrics"
- Does not read any personal information
- With a direct connection to your server, your password and all other info are never sent to a third-party
- OMEMO encrypted chat
- Will work with corporate XMPP servers that require VPN
- Multi user chat (MUC) support for group chats
- Audio/Video calls
Implements certain XMPP extensions intended to improve mobile communication:
- XEP-0357: Push Notifications
- XEP-0280: Message Carbons keep messages in synch between clients
- XEP-0198: Stream Management to quickly reconnect
- XEP-0199: XMPP Ping to maintain connections
- XEP-0313: Message Archive Management to download chat history
- XEP-0352: Client State Indication for dramatic reduction on power use
- XEP-0363: HTTP File Upload to send images in conversations
more i cannot get the QR scanner to work. you have a second to line up the device to be scanned and a snapshot is taken in the blind, then the app becomes non-responsive. Have to force quit the application every time i try to activate my acct on the intel MBP (final gen before M1)
i cannot get the QR scanner to work. you have a second to line up the device to be scanned and a snapshot is taken in the blind, then the app becomes non-responsive. Have to force quit the application every time i try to activate my acct on the intel MBP (final gen before M1)
- Show last usage timestamp of OMEMO keys
- Try to improve location sharing accuracy
- Improve contact last activity timestamps
- Fix several bugs
6.4.21 May 28
- Now forcing SASL2+SCRAM for yax.im (already forced for conversations.im)
- Fixed display of messages containing a list of urls
- Fixed crash when receiving files with too long filenames
- Fixed rare case not connecting to a server after bringing the app from foreground to background too fast
- Fixed rare OMEMO devicelist publishing loop (thanks renegade)
- Fixed list of contacts in share sheet to not contain contacts only known from groupchats (thanks Kati)
- Fixed very rare OMEMO identity regeneration when receiving a push after device reboot but before entering the passcode for the first time
- Notes about new/deleted OMEMO devices of chat partners aren't displayed anymore for TOFU devices (no device explicitly trusted/untrusted by the user)
- Fixed some more small bugs
6.4.20 Apr 22
- Fixed omemo devicelist updates not published properly
- Fixed endless loop adding/removing devices from omemo devicelist
- Fixed audio recording timer visibility in dark mode
- Fixed audio playback not working after recording a voice message
- Accelerated connection establishment
- Fixed joining of groups/channels after a longer period of being offline
- Fixed internal state updates taking too long
- Fixed crash when opening a new chat that wasn't listed as active before
- Moved heavy deallocation work to a background task to make initial connection faster
- Don't try to retrieve messages older than our autodelete timeout, if active
- Allow users to ping the push appserver for debugging notification problems
- Improved accessibility if users configure a dynamic font in settings (bigger text sizes)
6.4.19 Mar 13
- Fixed crash when receiving broken OMEMO bundles
- Better fix for audio/video codec issues (aka black video stream)
- Reworked complete OMEMO trust management
- Fixed spurious "new OMEMO device found" notifications and status messages
- Introduced some new OMEMO expert settings
- Improved UI responsiveness in some rare cases
- Made sure to periodically advance the OMEMO DH-ratchet even on devices only used for receiving messages, not sending
- Made sure to remove old OMEMO devices not seen for more than 90 days from own devicelist
6.4.18 Feb 24
- Removed christmas special again
- Added Estonian and Telugu translations
- Fixed random black video feed on video calls
- Make it harder for spammers to mention everybody: ignore mentions if more than 5 participants are mentioned per message
- Properly display Visitor role in Channels
- Add "Request Voice" button to contact details of moderated Channels
6.4.17 Jan 5
- Fixed Add Account screen
6.4.16 12/22/2025
- Change App Logo to Christmas special by Ann-Sophie Zwahlen
- Fix some presence leaks
- Detect device migrations more reliably
- Improve OMEMO discovery for chats with users not in our contact list
- Don't crash on every bind errors
- Add Telugo translations
- Add Czech appstore translation
- Make Appstore metadata translatable via Weblate
- Make Appstore changelog entries translatable via Weblate
- Improve MAM error messages
- Show additional confirmation dialog before sharing location in a chat
- Fixed rare crash when adding a new account
6.4.15 12/18/2025
- Don't fail when sending files using the sharesheet
- Implement strict ordering of SCRAM attributes
- Warn if MUC changes from private group to public channel
- Added Chinese appstore description
- Fixed multiple crashes
- Ignore transient MUC errors from prosody
- Allow SASL2 without channel-binding and SSDP
- Changed some webrtc values, does this fix the video call problem?
6.4.14 11/13/2025
- Don't autodisable account on some minor errors
- Fix mam queries broken by last release
6.4.13 08/10/2025
- Fixed handling of fromUser and toUser in muc mam queries
- Removed keyboard shortcut for "archive conversation"
- MacOS Menu entires are now translatable
- Contacts from the address book can now be shared again., thanks Melvo
- Fix crashes when connectivity is unstable
- Don't play call error sounds indefinitely
- Fix bug in roster subscription handling
6.4.12 07/28/2025
- Properly open links in external browser, if configured to do so
- Fix accidental reordering of chats when opening a chat
- Fixed display of back button in omemo keys view
- Fixed display of back button in password change view
- Fixed scrolling behavior in onboarding flow
- Added workaround for compiler bug causing crashes
- Fixed rare crashes when using the "respond via notification" functionality
- Fixed discovery of jid type (muc/account) for some bridges
6.4.11 05/17/2025
- Don't accept forbidden control characters as chat input
- Update ssdp implementation to version 0.4
- Fix some more bugs
6.4.10 01/27/2025
- Fix rare crashes on app startup
- Don't lock up app on close
- Improve internal logging
- Fixed background crash
- Revert christmas/winter special
- Fix crash on incoming non-spec-conformant LMC
- Make xmpp gateway detection more robust (thanks lissine)
- Add new action to directly block users on incoming subscription requests rather than just denying the request
- Check if we are still joined when opening a channel/group and rejoin if not
6.4.9 01/13/2025
- Make sure to not enable accounts without password after being restored via iCloud backup
- Improve OMEMO handling when offline
- Fix more background crashes
- Workaround for broken stun/turn on ejabberd lower than 24.12
- Christmas/winter special
6.4.8 12/23/2024
- Add Arabic appstore description
- Fix crashes when backgrounding app
- Fix some more rare crashes
6.4.7 12/02/2024
- Fix regression when connecting solely using old STARTTLS connection method
- Fix crash when being unable to connect while creating new account
- Fix connection problems on slow connections
- Show timestamp of last received push in notification debug menu
- Fix various other crashes
6.4.6 11/20/2024
- Fix out-of-memory crash when parsing link previews
- Fix display of qr-code button when viewing own omemo keys
- Make discovery of group/channel names more reliable
- Don't crash on errors when adding a new account
- Don't leave messages in "Sending..." state after resuming the app from background
- Allow adding gateway jids as contacts
- Make group/channel detection more reliable when adding via jid
6.4.5 10/15/2024
- Fix xmpp: uri handling
- Fix spurious PLAIN warning again
6.4.4 08/20/2024
- Fix omemo handling when chatting with users not in the contact list
- Improve PLAIN-only warning message on first login
- Don't show spurious "new message" notifications for outgoing media files
- Make sure to open the receiver's chat when sharing via sharesheet
- Fix hang on startup
- Fix SASL2 upgrade path for servers using LDAP as auth backend
- Fix crash when deleting account
6.4.3 08/16/2024
- Allow image cropping when setting a group/channel avatar
- Fix position of floating scroll-to-bottom button (thanks Matthew Fennell)
- Fix buttons in contact list not working sometimes (thanks Matthew Fennell)
- Implement setting to control the time used for auto-deletion of messages (thanks Noman Ashraf)
- Fix bug sometimes showing an empty list of omemo keys in groups
- Fix saving of group name when creating groups on ejabberd servers
- Fix message retraction in groups/channels
- Fixed dark mode display of chat placeholder image (park)
- New Onboarding flow introducing Monal, XMPP and Privacy Settings
- Accessibility fixes when using VoiceOver
- Merge and improve add contact menu and contact requests menu
- Show contact requests menu when tapping onto a contact request notification
- Fix several crashes and other bugs
- Updated translations
- This is the last release that will support macOS 11 + 12.
6.4.1 07/25/2024
- Show last usage timestamp of OMEMO keys
- Try to improve location sharing accuracy
- Improve contact last activity timestamps
- Fix several bugs
more Version 6.4.21 May 28
Data Not Collected The developer does not collect any data from this app.