# Java sdk and proto payload converters (binary vs json)

**URL:** <https://community.temporal.io/t/java-sdk-and-proto-payload-converters-binary-vs-json/9744>\
**Category:** Community Support\
**Tags:** java-sdk\
**Created:** [October 6, 2023, 3:05pm UTC](https://community.temporal.io/t/java-sdk-and-proto-payload-converters-binary-vs-json/9744 "2023-10-06T15:05:51Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![aleskovets](https://avatars.discourse-cdn.com/v4/letter/a/838e76/32.png) [@aleskovets](https://community.temporal.io/u/aleskovets)\
**Post date:** [October 6, 2023, 3:05pm UTC](https://community.temporal.io/t/java-sdk-and-proto-payload-converters-binary-vs-json/9744/1 "2023-10-06T15:05:52Z")

</div>

Hey!

Java sdk comes with multiple proto payload converters: binary and via json representation. What is your way of thinking about those? In which case you would recommend to use one over the other? Would one offer better schema change controls over other?

Thanks!

---

<div class="post-metadata">

**Author:** ![maxim](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/maxim/32/8_2.png) [@maxim](https://community.temporal.io/u/maxim)\
**Post date:** [October 6, 2023, 4:26pm UTC](https://community.temporal.io/t/java-sdk-and-proto-payload-converters-binary-vs-json/9744/2 "2023-10-06T16:26:49Z")

</div>

We default to JSON as it allows us to see human-readable values in UI/CLI. The binary encoding will not be comprehensible there.

---

<div class="post-metadata">

**Author:** ![aleskovets](https://avatars.discourse-cdn.com/v4/letter/a/838e76/32.png) [@aleskovets](https://community.temporal.io/u/aleskovets)\
**Post date:** [October 6, 2023, 6:07pm UTC](https://community.temporal.io/t/java-sdk-and-proto-payload-converters-binary-vs-json/9744/3 "2023-10-06T18:07:14Z")

</div>

Makes sense. So there the difference boils down to how easy it would be to operate with human readable payloads vs not.

---

<div class="post-metadata">

**Author:** ![maxim](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/maxim/32/8_2.png) [@maxim](https://community.temporal.io/u/maxim)\
**Post date:** [October 6, 2023, 11:09pm UTC](https://community.temporal.io/t/java-sdk-and-proto-payload-converters-binary-vs-json/9744/4 "2023-10-06T23:09:32Z")

</div>

Yes. Theoretically, it is possible to create a codec server that would convert binary to text for UI/CLI. But this codec server would need to have access to all proto definitions.
