
Convert j s o n text, document or file into message pack format that is viewable in h e x
View ToolDecode MessagePack
Despite the fact that this tool is a data converter from msgpack to JSON, the most important use case of this tool is to decode Message Pack data and visualize it in the form of JSON. Because MessagePack is a binary format, we humans cannot make sense out of it. Well, unless we convert it to a format such as JSON which is human readable. This tool aims to bridge that gap and allow you to decode msgpack data stored in various formats such as Hex, UInt8Array, Base64 encoded and Percent Encoding.
The binary data that the input message pack represents can have primitive data types such as int, float, bool, string or complex types composed of these primitives.
MessagePack
MessagePack is an efficient binary serialization format which is similar to JSON but faster and smaller in size. It is just that it is not meant for the human eye.
JSON
JavaScript Object Notation (JSON), pronounced as Jason, is the most common data interchange format on the web. Douglas Crockford first released the JSON specification in the early 2000s. It is a simple format that is easier to comprehend than XML. It is also smaller in size because it does not have closing tags. A wide variety of programming languages can parse JSON files. They also support the serialization of data structures to JSON. You can copy JSON text to JavaScript and start using them without any modifications.
Settings Explained
1. Input Type
The type of the input MessagePack data. The following input formats are supported:-
Auto Detect
The actual type of the input is automatically detected
Hex
In Hex mode, the MessagePack bytes are converted to their two digit hex representation. The input can include space between the individual bytes, the hex characters can be in uppercase & the input can also be wrapped into multiple lines.
DD 00 00 00 01 DF 00 00 00 04 A4 6E 61 6D 65 AA 52 6F 62 69 6E 20 48 6F 6F 64 AA 64 65 70 61 72 74 6D 65 6E 74 A0 A7 6D 61 6E 61 67 65 72 A0 A6 73 61 6C 61 72 79 CC C8Base64
In Base64 mode, the MessagePack bytes are in the Base64 format. The input can be wrapped into multiple lines.
3QAAAAHfAAAABKRuYW1lqlJvYmluIEhvb2SqZGVwYXJ0bWVudKCnbWFuYWdl cqCmc2FsYXJ5zMg=UInt8 Array
Here, the input is an array of 8 bit unsigned integers which can be used in programming languages such as JavaScript, Java, C#. The numbers can be delimited by space & in between them. Also, the input can be wrapped into multiple lines.
[221, 0, 0, 0, 1, 223, 0, 0, 0, 4, 164, 110, 97, 109, 101, 170, 82, 111, 98, 105, 110, 32, 72, 111, 111, 100, 170, 100, 101, 112, 97, 114, 116, 109, 101, 110, 116, 160, 167, 109, 97, 110, 97, 103, 101, 114, 160, 166, 115, 97, 108, 97, 114, 121, 204, 200]Bracketed Binary
In this format, the binary characters are wrapped in their hex forms inside brackets
[0x81][0xa4]rows[0x91][0x91][0xa7]SUCCESSPercent Encoding
In this format, the binary characters are prefixed by a percentage sign (%) followed by a two character Hex representation of the byte value
%C3%9F%00%00%00%03%C2%A4name%C2%AEPartho%20Sarathi%C2%A3age%1E%C2%A6isMale%C3%83Escaped Hex
In this format, the binary characters are prefixed by \x followed by a two character Hex representation of the byte value
ß\x00\x00\x00\x03¤name®Partho Sarathi£age\x1E¦isMaleÃ2. Indent
This setting governs whether or not the Output is indented. The indented Output is easier to comprehend. On the other hand, a non-indented output is compact. The smaller size is best for transmission over the network. So, we often minify JSON by removing non-essential whitespace.
Indentation On
{ "name": "John Doe", "age": 69 }Indentation Off
{"name":"John Doe","age":69}3. Keys In Quotes
A valid JSON must have double quotes around the keys (or property names). Unless the keys include special characters, double quotes are unnecessary when used directly inside JavaScript. Turn off this setting if you want to omit quotes around keys.
Keys In Quotes On
{"name":"John Doe","age":69}Keys In Quotes Off
{name:"John Doe",age:69}4. Case Conversion
Case of properties is changed using this strategy.
None
No case ChangeLower Case
lower case changeUpper Case
UPPER CASE CHANGECamel Case
camelCaseChangePascal Case
PascalCaseChangeTitle Case
Title Case ChangeSnake Case
snake_case_changeSentence Case
Sentence case changeKebab Case
kebab-case-changeUse this option only when cleaning a JSON structure because changing the keys will cause failures in applications that use this JSON format.
5. Expanded Braces
Braces are written on a new line (C# style) when this option is selected. Turning the option off puts the Braces on the same line (Java/JavaScript style).
Expanded Braces On
{ "name": "John Doe", "age": 25, "addresses": [ { "city": "Phoenix", "country": "Arizona" }, { "city": "Miami", "country": "Florida" } ] }Expanded Braces Off
{ "name": "John Doe", "age": 25, "addresses": [ { "city": "Phoenix", "country": "Arizona" }, { "city": "Miami", "country": "Florida" } ] }6. Format Embedded JSON
When this option is selected, JSON embedded or escaped within string values is processed, expanded & converted to nodes.
Format Embedded JSON On
{ "name": "John Doe", "age": 25, "addresses": [ { "city": "Phoenix", "country": "Arizona" }, { "city": "Miami", "country": "Florida" } ] }Format Embedded JSON Off
{ "name": "John Doe", "age": 25, "addresses": "[{\"city\":\"Phoenix\",\"country\":\"Arizona\"},{\"city\":\"Miami\",\"country\":\"Florida\"}]" }7. Date Format Handling
Even though there is no standard for representing dates in JSON, two popular formats have emerged. The ISO Date Format is the most widely used. If you are using a .NET stack, quite possibly you are using the Microsoft Date Format.
ISO Date Format
{"systemTime":"2014-01-01T23:28:56.782Z"}Microsoft Date Format
{"systemTime":"\/Date(1388618936782)\/"}8. Allow Partial Parsing
If selected, even incomplete, corrupt or erroneous message pack data is attempted to be converted. This can be used to diagnose and debug issues with your msgpack data.
History
- Aug 2, 2018
- Support for conversion of invalid, corrupt or partial MessagePack bytes
- May 27, 2018
- Support for Escaped Hex input
- Apr 1, 2018
- Support for Percent Encoding
- Dec 30, 2017
- Support for selecting input types including Hex, Base64, UInt8 Array, Bracketed Binary & Auto Detect
- Nov 3, 2017
- Support for hex input prefixed by 0x
- Oct 19, 2017
- Array input mode
- Oct 3, 2017
- Tool Launched

Comments 0