AppCorpus
Market US

Monal — XMPP Chat

by Molitor und Dietzel, Inh. Thilo Molitor

iPhone · iPad

Active Last checked 31 Jul 2026

Quick verdict

What it is
Store information collected; independent summary not yet available.
At a glance
  • Free to download

Categories and search queries

Official categories

AppCorpus categories

Key functions

Function Availability Access Scope Evidence
Free app Yes Free Store published

Screens

App Store

13 store screenshots

Monal — XMPP Chat ipad screenshot 1
Monal — XMPP Chat ipad screenshot 2
Monal — XMPP Chat ipad screenshot 3
Monal — XMPP Chat ipad screenshot 4

Pricing & paywalls

App Store

  • Free

Ratings & reviews

App Store

3.7 139 ratings · App Store

  1. 4/5I have some questions

    I'm having problems with flashing and crashing, after sending a message at one point, monal flashed and when I opened it again nothing was displayed and it also flashed immediately. After repeating it many times I had to delete and reinstall it, now it is working fine, but I would like to know why it crashes. Overall monal is still a good XMPP client for iOS, although it still has some minor issues

    Wild Ion · 31 Jul 2026

  2. 5/5Great utility! Lots of development activity; high hopes!

    It seems to me Monal has come a long way since release. Some devs just release their app and never work on it again - but not Monal! The Monal devs are reasonably active with maintenance & bugfixes. They’ve put together a very useful, feature-rich, easy-to-use XMPP client while keeping a minimalist feel. Monal crashes occasionally, but not so much as to impede my usecase. I just close/reopen the app, or ignore the crash warning, and pick up where I left off. (To devs: I’ll have to remember to send you the crash report next time. I think I tried once and it said my phone wasn’t set up to send emails? I dunno. I’ll try.) Overall, the app works great and has all the necessities. Works flawlessly with my cheap low-end VPS running ejabberd. Calls connect fast, voice is clear, no lag. OMEMO works; but I did have some issues with it early on where my recipient couldn’t read msgs (or vice versa) even though we had confirmed each other’s keys. To be fair this could have also been a user error. This was eventually resolved. I would like to see additional privacy options. OMEMO is fine. I would like to see PGP implemented (for example, I believe the Linux XMPP client “Dino” has the ability to use PGP as well as OMEMO) Perhaps even encrypted voice calls (assuming they are not already encrypted)

    zfkdnop · 31 Jul 2026

  3. 5/5The best iOS xmpp client again

    Monal has consistently been updated throughout the years, and is currently the best client on iOS. I had been using Siskin for a while, and it was decent enough, but the lack of proper push notifications was incredibly frustrating. Monal has proper push notifications even with omemo, which is great. I was initially concerned with battery usage, and while settings reports high usage, in practice it has been a non-issue (monal has documentation discussing why this is a measurement error on iOS’s part). Overall I’m pretty pleased right now. There’s still features I’d like to see, and the UI feels a bit buggy sometimes (e.g., uploading images never seems to work the first time…), but this is actually usable right now, even with omemo. I hope it continues to improve!

    chibzly · 31 Jul 2026

  4. 5/5XMPP on iOS is great

    I had a mistaken view that there were no good XMPP options on iOS. Perhaps that was true before, but now it’s false. Additionally, the XMPP standards have added a lot of things to make the protocol very usable on mobile devices. Monal is good, usable, and actively developed. There are some minor UI issues but they are fixable, and a small trade off for a communications channel you actually have control over. This is one app I’ll be pushing my friends to use. Monal is open source which means you can have confidence that it can continue being updated for many years. I would consider this a significant strength for any software, but even more so on iOS which breaks apps once they are too old (guessing half of the iOS apps I’ve paid for don’t work/can’t be install anymore?)

    bdksbdjen · 31 Jul 2026

  5. 5/5Does everything a jabber/XMPP app should do

    I saw some reviews of people having issues receiving messages and the server not fetching them properly that’s primarily because of the Server that you’re using for that it’s kind of out of Monals hands if the server that your jabber account is using is unstable you can verify that on the XMPP website where they provide server addresses to use or even create your own server then you won’t have to worry about it being unstable. But overall wonderful app is the best of the best. In my opinion you’re not gonna really get a modern looking one because jabber is just so old and I’m surprised it’s even still around lol

    Colinlet1900 · 31 Jul 2026

Privacy & accessibility

App Store

Privacy

  • Data Not Collected Developer declared

Accessibility

No accessibility labels collected yet.

Versions

App Store

  • 6.2.0

    Features: - Group creation - Group management - Displaying qr-codes when generating invitations, thanks lissine - Added privacy setting to ignore incoming messages from unknown sources Fixes: - Improved background handling - Multiple iPad related fixes - Fixed backscrolling for selfchats (notes to self) - Fixed muc status code handling - Fixed dark mode for some alerts - Improved accessibility of several of our new UIs (thank you very much @ryanlintott) - Improve first login - Improve multi account devices - Many crash & bug fixes

  • 6.3.0

    - Fix muc status code handling for biboumi - Implement XEP-0425: Moderated Message Retraction - Implement XEP-0490: Message Displayed Synchronization - Better default chat background for light and dark mode - Fix crashes when used with very old Openfire server - Improve cert error message - Highlight selected chat on iPad and macOS - Mark pinned chats with icon instead of color - Completely rewrite privacy settings (thanks Vaidik) - Automatically focus chat input and open keyboard when entering chat - Allow SASL PLAIN on servers not supporting SCRAM but SASL2 - Completely new debug menu - Add new privacy setting to allow/block calls from strangers - Don't block callkit in china anymore - Fix several other crashes and UI bugs

  • 6.3.1

    - Fix flickering of chat background image - Make keyboard auto-appear configurable - Improve error propagation when uploading/downloading files - Fix detection of omemo keys for groupchats - Make several UI elements translatable now - Fix error handling when creating groups - Show used / discovered MUC servers in server details

  • 6.4.0

    - Implement channel management - Rewrite of complete group/channel management UI - Implement group/channel destroy button - Fix crash on message retraction - Fix bug in Message Displayed Synchronization handling (XEP-0490) - Improve AV-Call connectivity (allow incoming P2P connections) - Implement optional DNSSEC validation - Restructure settings menu to be more accessible and resemble the structure of the new Conversations' settings menu - Fix sharing files using share sheet - Fix initial scroll position when opening a chat - Add new setting to enable/disable in-app display of webpages in Safari - Make more parts of the UI translatable (accessibility labels, section headings etc.) - Implement SVG support for received images and displaying avatars - Fix typos in english strings - Update license texts to include all used libraries - Open websites linked in settings inline (but allow to open them in the default browser, too)

  • 6.4.1

    - 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 iOS 14 + 15.

  • 6.4.10

    - Don't accept forbidden control characters as chat input - Update ssdp implementation to version 0.4 - Fix some more bugs

  • 6.4.11

    - 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.12

    - Fixed handling of fromUser and toUser in muc mam queries - 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.13

    - Don't mirror local camera view in videocalls - Don't autodisable account on some minor errors - Fix mam queries broken by last release

  • 6.4.14

    - Don't crash on unexpected call states - 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 - Fix automatic speaker activation in video calls - Allow SASL2 without channel-binding and SSDP - Changed some webrtc values, does this fix the video call problem?

  • 6.4.15

    - 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.16

    - Fixed Add Account screen

  • 6.4.17

    - 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.18

    - Fixed crash when receiving broken OMEMO bundles - Better fix for audio/video codec issues (aka black video stream) - Fixed broken video calls by fixing bug in Mozilla's webrtc-sdp library - 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.19

    - 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 long delay when sometimes answering an incoming call - 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.2

    - Add setting to configure if file transfers should show up in Files App - Add setting to send images as original - Improve Onboarding texts - Fix flickering of intro screens - Improve handling of xmpp: URIs - Several other bugfixes

  • 6.4.20

    - Fixed speaker not turning on for video calls on some devices - 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.21 · 27 May 2026

    - Show last usage timestamp of OMEMO keys - Use the iOS 18 UI in the share sheet - Allow using any language in the Display Name field in account settings - Try to improve location sharing accuracy - Improve contact last activity timestamps - Fix several bugs

  • 6.4.3

    - 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

  • 6.4.4

    - Fix xmpp: uri handling - Fix spurious PLAIN warning again

  • 6.4.5

    - 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.6

    - 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.7

    - Add Arabic appstore description - Fix crashes when backgrounding app - Fix some more rare crashes

  • 6.4.8

    - 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.9

    - Fix rare crashes on app startup - 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

Alternatives

Availability by market

Data quality & evidence

Page completeness
Live store listing
Last verified
31 Jul 2026
Sources
App Store

Report a correction