ToolsCrateAll tools

MessagePack & BSON Decoder

Convert MessagePack or BSON binary data into readable JSON. Both keep full type information, so the structure comes through exactly.

MessagePack data

Intended for your own single-player save files. Editing saves in multiplayer or online games breaks their terms of service and can get your account banned. Always keep a backup of the original file before you change anything.

MessagePack is a compact binary form of JSON, popular in mobile and Unity games because it is smaller and faster to parse. BSON is the related format MongoDB uses. Both keep full type information, so the JSON shown here matches the original structure exactly — 64-bit integers too large for JavaScript are rendered as strings so no precision is lost.

Frequently Asked Questions

What is MessagePack?

A binary serialisation format that encodes the same data model as JSON in far fewer bytes. Mobile and Unity games use it heavily because it is smaller on disk and faster to parse than text JSON.

How do I recognise MessagePack data?

It has no file header, which is the tricky part. Look for a first byte in the 0x80 to 0x8f range (a small map) or 0xde and 0xdf (larger maps) — a save that starts that way and contains readable field names is a good candidate.

What is the difference from BSON?

BSON is MongoDB's format and is length-prefixed, so every document starts with its own size as a 32-bit little-endian integer. It is generally larger than MessagePack but faster to scan without parsing.

Why are some numbers shown as strings?

64-bit integers beyond about 9 quadrillion cannot be represented exactly by a JavaScript number, so they are rendered as strings rather than silently rounded.