The Native MQTT Client for iPhone and iPad
MQTT Commander is a native MQTT client for iPhone and iPad. Connect, subscribe, publish and debug any MQTT broker, with SwiftUI throughout and iOS 17 as the baseline. It is free to download, with no subscription; a one-time $4.99 Pro unlock adds Lock Screen and Home Screen widgets, extra broker profiles and log export.
Free · Pro unlock $4.99, one-time
Who it's for
- IoT developers connecting iPhones or iPads to MQTT brokers
- Home Assistant and Zigbee2MQTT users who need a mobile inspector
- Engineers debugging TLS, mTLS, or WebSocket MQTT connections
- QA teams validating message flow and payload structure on the go
- Anyone who needs a portable, privacy-respecting MQTT debugger
Built in SwiftUI for iPhone and iPad
Most MQTT tools are ports of desktop apps or browser wrappers that feel out of place on iPhone. We wrote MQTT Commander in SwiftUI for iOS and iPadOS, so it follows native interaction patterns, supports Dynamic Type, and works on a 6-inch iPhone screen as well as a 13-inch iPad display. It requires iOS 17 or later and is free to download, with no subscription and no ads; a one-time $4.99 Pro unlock adds Lock Screen and Home Screen widgets, extra broker profiles and log export. Your broker credentials and message history never leave your device.
Connection Doctor: Diagnose Problems Stage by Stage
Getting an MQTT connection working, especially over TLS or WSS, can involve half a dozen failure points that all look the same from the outside. Connection Doctor runs a staged diagnostic sequence: DNS resolution, TCP handshake (including any WebSocket/WSS upgrade), TLS negotiation, certificate checks (chain, expiry, and hostname), ALPN/SNI, and finally the MQTT CONNECT and authentication. Each stage reports a pass or a clear error message, so you can see where the problem sits: a firewall blocking port 8883, an expired server certificate, or a mismatched ALPN protocol. You read the failing stage instead of testing settings one at a time.
Certificate Manager: mTLS on iPhone
Mutual TLS protects broker connections, and importing the certificates on a mobile device has always been the awkward part. The Certificate Manager imports your client identity from a .p12/.pfx bundle (the only way to bring in the private key) and the CA as a PEM, then checks expiry dates, Subject Alternative Names, and Common Name. The app anchors trust to the CA you import. It supports ALPN protocol negotiation, including x-amzn-mqtt-ca for AWS IoT Core, and SNI so that SNI-based virtual hosting works. Once imported, a certificate profile is reusable across connections without re-entering passwords.
Payload Inspector and Topic Tree
Raw binary or JSON blobs are hard to read in a scrolling message list. The payload inspector renders incoming and outgoing messages as formatted JSON with syntax highlighting, a diff view that highlights what changed between two consecutive messages, hex and Base64 views for binary payloads, and inline image rendering for camera or sensor frames. It also supports JSONPath queries so you can filter a noisy topic down to the one field you care about. The topic tree groups live subscriptions into a collapsible hierarchy and ships with presets for Home Assistant and Zigbee2MQTT topic namespaces, so familiar structures carry the right labels from the first message.
Full MQTT Protocol Support and Safe Publishing
MQTT Commander supports MQTT 3.1.1 and MQTT 5.0, all three QoS levels (0, 1, 2), wildcard subscriptions (# and +), shared subscriptions, retained messages, and Last Will configuration. On MQTT 5, the connection and publish editors expose the full property set: message expiry, content type, response topic, correlation data, and user properties. The publish editor includes a confirmation prompt for retained messages so you don't overwrite broker state by accident. Connections are made over TCP, TLS, WebSocket, and WSS, making MQTT Commander compatible with every major hosted broker and self-hosted option such as Mosquitto, EMQX, HiveMQ, and AWS IoT Core.
Frequently asked questions
Is MQTT Commander free?
MQTT Commander is free to download on the App Store, with no subscription and no ads. Pro is a single $4.99 unlock: you pay once and keep it across every future update.
Which MQTT protocol versions does MQTT Commander support?
MQTT Commander supports both MQTT 3.1.1 and MQTT 5.0. On MQTT 5.0, all standard properties are available in the connection settings and publish editor, including message expiry, user properties, response topic, and correlation data.
Can I use MQTT Commander with TLS and client certificates?
Yes. MQTT Commander supports TLS and mutual TLS (mTLS) with client certificates. The Certificate Manager imports the client identity (private key included) from a .p12/.pfx bundle and the CA as a PEM, validates the certificate's expiry and hostname (SAN/CN), and supports ALPN and SNI. It works with AWS IoT Core, including the x-amzn-mqtt-ca ALPN value.
Does MQTT Commander send my broker data to the cloud?
No. All broker credentials, topics, and message history are stored on your device and never uploaded to any server. MQTT Commander collects only anonymous, opt-out crash and usage diagnostics via Sentry and Aptabase. You can disable diagnostics in the app settings.
What is Connection Doctor and when should I use it?
Connection Doctor is a staged diagnostic tool that tests DNS, TCP (including any WebSocket/WSS upgrade), TLS, the certificate (chain, expiry, and hostname), ALPN/SNI, and the MQTT CONNECT and authentication in sequence. Use it whenever a connection fails and you need to know which step is broken, instead of checking each layer by hand with separate tools.
Does MQTT Commander work with Home Assistant?
Yes. The topic tree includes built-in presets for Home Assistant and Zigbee2MQTT topic namespaces, so entities and device names carry the right labels in the hierarchy from the first received message. MQTT Commander works with any broker Home Assistant uses, including Mosquitto running as a Home Assistant add-on.
Get MQTT Commander
Native for iPhone & iPad. Free · Pro unlock $4.99, one-time.
Free · Pro unlock $4.99, one-time