JSON Size Analyzer

  • Byte weight
  • Key overhead
  • Nothing uploaded

Find which branches, arrays and key names are actually consuming the bytes.

Input
Breakdown
Paste JSON on the left to see where its bytes go.
About size analyzer

A JSON size analyzer shows which parts of a document account for its bytes. JSONic ranks branches and arrays by serialized size with a share-of-total bar, reports how many bytes go to key names rather than values, and points at the single largest string in the document.

Knowing a response is 40 MB is not useful; knowing that one array of embedded base64 thumbnails is 36 MB of it is. This tool measures the serialized size of each branch, ranks them biggest-first with a share-of-total bar, reports how many bytes go to key names rather than values, and points at the single largest string in the document. It is the tool to reach for before deciding what to paginate, drop or move behind a separate request.

Questions

Why measure key names separately?

In wide, shallow documents — an array of thousands of small records — key names can be a third of the payload, because every record repeats them. That is the case where shortening keys or switching to a columnar shape actually pays, and the case where it does not is worth knowing too.

Are these the bytes that travel over the network?

These are the uncompressed serialized bytes. Gzip and brotli compress repeated key names very effectively, so the compressed saving from renaming keys is much smaller than the raw number suggests. Treat the raw figure as an upper bound.

How deep does the breakdown go?

Two levels, and large arrays are reported as a whole rather than element by element. That is enough to identify the branch responsible without producing a report as long as the document.