# How to send a binary MQTT test payload?

**URL:** <https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660>\
**Category:** Help Hub\
**Tags:** mqtt\
**Created:** [February 18, 2025, 7:41pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660 "2025-02-18T19:41:01Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [February 18, 2025, 7:41pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/1 "2025-02-18T19:41:01Z")

</div>

Hi, how does one send a binary MQTT message, and process the reply? The current payload content field only appears to cater to JSON or textual payload messages. Most IoT devices still use proprietary binary payloads requiring decoding/encoding.

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [February 18, 2025, 9:29pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/2 "2025-02-18T21:29:05Z")

</div>

Ok, found it - a very well hidden feature, and no searches on this in the help or forum found the answer either. It is in the dropdown selection box below the message panel around mid-screen defaulting to ‘Text’. Selecting this reveals additional format options.

 ![Screenshot - Postman MQTT](https://us1.discourse-cdn.com/getpostman/original/3X/a/c/ac6f77027c287e413fba7ce47a68b15d95629ccc.png)

---

<div class="post-metadata">

**Author:** ![danny-dainton](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/danny-dainton/32/29401_2.png) [@danny-dainton](https://community.postman.com/u/danny-dainton)\
**Post date:** [February 18, 2025, 9:36pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/3 "2025-02-18T21:36:41Z")

</div>

Hey @sensornex 👋🏼

You should be able to find all information about MQTT request interface over on our Docs site:

> **[Using the MQTT request interface | Postman Docs](https://learning.postman.com/docs/sending-requests/mqtt-client/mqtt-request-interface/#the-mqtt-request-interface)**
>
> Postman is a collaboration platform for API development. Postman's features simplify each step of building an API and streamline collaboration so you can create better APIs—faster.

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [February 18, 2025, 9:50pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/4 "2025-02-18T21:50:50Z")

</div>

Thanks, but all that is in the content is " \* **Message type** - You can define the message type as **Text** , **JSON** , **Base64** , or **Hexadecimal** for Postman to render it correctly.", and there are no examples of using the hexadecimal type, and searching for the keyword ‘MQTT binary’ didn’t take me there either.

Perhaps you could expand this content further so it’s clearer for this use case.

---

<div class="post-metadata">

**Author:** ![danny-dainton](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/danny-dainton/32/29401_2.png) [@danny-dainton](https://community.postman.com/u/danny-dainton)\
**Post date:** [February 18, 2025, 9:58pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/5 "2025-02-18T21:58:02Z")

</div>

I’ll pass that feedback on to the team to see if they can expand on that part of the documentation.

---

<div class="post-metadata">

**Author:** ![docking-module-admin](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/docking-module-admin/32/27595_2.png) [@docking-module-admin](https://community.postman.com/u/docking-module-admin)\
**Post date:** [February 19, 2025, 8:06pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/6 "2025-02-19T20:06:06Z")

</div>

@sensornex thanks for bringing this up. I did have one question about your use cases. Would hex or base64 encoding work for your use case or are you using another encoding that we don’t currently support?

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [February 19, 2025, 9:02pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/7 "2025-02-19T21:02:22Z")

</div>

Hi, good timing, as I was about to follow up on this thread this morning, as I cannot see how to correctly format the Postman ‘Hexadecimal’ MQTT payload type. I searched your forum for this, and the only slightly relevant article I could find was this one using Base64 encodings - [https://blog.postman.com/sending-and-debugging-binary-data-in-postman-requests/](https://blog.postman.com/sending-and-debugging-binary-data-in-postman-requests/) . For testing embedded IoT devices, I need to use binary Hexadecimal payloads, as this is also what the OEM’s spec data sheets show with examples of parsing and messaging to their devices. I don’t want to waste time guessing how to use Hexadecimal formatting for this in Postman with MQTT - you need to provide concrete examples for this use-case for Hexadecimal message tests, and Base64 (since there are no MQTT examples of that either).

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [February 20, 2025, 5:42am UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/8 "2025-02-20T05:42:10Z")

</div>

For some perspective, attached is the Milesight UC300 4G IO Controller payload decoder spec screenshot

 ![Milesight UC300 4G downlink payload example](https://us1.discourse-cdn.com/getpostman/original/3X/9/5/95fa2397f384c1ffaba76c01be8dbc8e2b5bf1b7.png)  
, which shows how OEM’s typically give examples of binary protocol parsing and hexadecimal byte type operations. The device expects a binary MQTT sommand structure to be published to it, to respond.

---

<div class="post-metadata">

**Author:** ![docking-module-admin](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/docking-module-admin/32/27595_2.png) [@docking-module-admin](https://community.postman.com/u/docking-module-admin)\
**Post date:** [February 20, 2025, 5:16pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/9 "2025-02-20T17:16:56Z")

</div>

Thank you for the example! On our end in the documentation we can look into showing example hex payloads.

For context you should be able to send a payload with the hex set to how it is shown in the spec. Postman currently doesn’t support any custom decoding but will send the message as a binary payload that your device should be able to decode. Let us know if this isn’t the case.

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [February 21, 2025, 2:48am UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/10 "2025-02-21T02:48:42Z")

</div>

Hi, no matter what format I enter into the Postman message panel when Hexadecimal is selected, it does not actually publish a binary payload to the broker. For example, entering “7E010B003132333435367E” results in teh following on the wire…

 ![MQTT non-binary publish 1](https://us1.discourse-cdn.com/getpostman/original/3X/5/d/5dbb759dfcbb37f52d86df6243f786493ee2bc17.png)

… and variants of this such as “\x7E\x01\x0B\x00\x31\x32\x33\x34\x35\x36\x7E” or “0x7E 0x01 0x0B 0x00 0x31 0x32 0x33 0x34 0x35 0x36 0x7E” also do not result in a binary payload publish. It appears to be publishing the ASCII equivalent.

Here’s what an actual device’s binary payload published looks like…

 ![MQTT non-binary publish 2](https://us1.discourse-cdn.com/getpostman/original/3X/2/e/2ec13c7132975b0a32f89b1c6dd8e1455f8dba32.png)

I really need you to test this yourselves and advise what the format for the binary hex message that should be applied in the message panel is please.

---

<div class="post-metadata">

**Author:** ![docking-module-admin](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/docking-module-admin/32/27595_2.png) [@docking-module-admin](https://community.postman.com/u/docking-module-admin)\
**Post date:** [February 21, 2025, 5:16pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/11 "2025-02-21T17:16:28Z")

</div>

Thanks for sharing what you’re receiving. This is a bug and we’re working on a fix for this and will let you know once we release it.

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [March 16, 2025, 6:07am UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/12 "2025-03-16T06:07:07Z")

</div>

Hi, has this issue been resolved/fixed in a new release yet?

---

<div class="post-metadata">

**Author:** ![docking-module-admin](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/docking-module-admin/32/27595_2.png) [@docking-module-admin](https://community.postman.com/u/docking-module-admin)\
**Post date:** [March 17, 2025, 4:09pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/13 "2025-03-17T16:09:30Z")

</div>

Hi Andrew, if you update postman to the latest version you should be able to send binary strings using either base64 or hex encoding.

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [March 17, 2025, 8:00pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/14 "2025-03-17T20:00:00Z")

</div>

Thanks - I just upgraded and tested this, and the issue appears to be corrected now. Have you updated the guidance doc’s on this as well?

 ![Screenshot 2025-03-18 at 8.56.14 AM](https://us1.discourse-cdn.com/getpostman/original/3X/2/6/26109401a59bb9e0d022aee9ae11d1515484d684.png)

---

<div class="post-metadata">

**Author:** ![docking-module-admin](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/docking-module-admin/32/27595_2.png) [@docking-module-admin](https://community.postman.com/u/docking-module-admin)\
**Post date:** [March 18, 2025, 3:45pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/15 "2025-03-18T15:45:14Z")

</div>

@sensornex we have made updates to try and make it more clear to use one of the binary encodings when trying to send binary payloads.

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [March 18, 2025, 6:47pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/16 "2025-03-18T18:47:11Z")

</div>

Hi, there’s still no guidance on this in the very help section it should be in (IMHO) - [Using the MQTT request interface | Postman Docs](https://learning.postman.com/docs/sending-requests/mqtt-client/mqtt-request-interface/)

---

<div class="post-metadata">

**Author:** ![danny-dainton](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/danny-dainton/32/29401_2.png) [@danny-dainton](https://community.postman.com/u/danny-dainton)\
**Post date:** [March 18, 2025, 6:52pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/17 "2025-03-18T18:52:27Z")

</div>

We’ll raise a separate documentatuon specific ticket to capture this @sensornex

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [March 18, 2025, 7:12pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/18 "2025-03-18T19:12:54Z")

</div>

Thanks. I’ll mark this ‘Solution’ as ‘resolved’ when that is available with the link.

---

<div class="post-metadata">

**Author:** ![ashley-kinard](https://avatars.discourse-cdn.com/v4/letter/a/839c29/32.png) [@ashley-kinard](https://community.postman.com/u/ashley-kinard)\
**Post date:** [March 31, 2025, 3:35pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/19 "2025-03-31T15:35:31Z")

</div>

We’ve updated the [documentation](https://learning.postman.com/docs/sending-requests/mqtt-client/mqtt-request-interface/#the-mqtt-request-interface) in the _MQTT request interface_ section to mention an example of when you’d use a binary payload for a messaging type (and also where specifically the **Message type** option is):

> **Message type** - Select the dropdown menu to set the message type as **Text** , **JSON** , **Base64** , or **Hexadecimal**. This defaults to **Text**. For example, to send a binary payload, you’d select the **Base64** or **Hexadecimal** message type.

---

<div class="post-metadata">

**Author:** ![sensornex](https://sea2.discourse-cdn.com/getpostman/user_avatar/community.postman.com/sensornex/32/31690_2.png) [@sensornex](https://community.postman.com/u/sensornex)\
**Post date:** [March 31, 2025, 7:15pm UTC](https://community.postman.com/t/how-to-send-a-binary-mqtt-test-payload/75660/20 "2025-03-31T19:15:29Z")

</div>

Thanks, but I think you’ve missed the point again - anyone wanting to test IoT type devices that use binary message payloads will still need to try and figure out how to use Postman’s MQTT features to create a test harness to do this. Your examples take the easy route once again and refer to JSON payloads. What you need to add is some full ‘binary only’ (Hex) test creation examples. Without this, anyone working with low-level HW using MQTT will be disappointed with their Postman experience trying to get it working for their project.
