Zero Signup ToolsFree browser tools

Developer Tools

JSON Size Analyzer

Measure a JSON document in your browser. Minified UTF-8 bytes, pretty-print overhead, type histogram, max depth, heaviest paths, and key counts.

JSON document

Paste any JSON value. The analyzer walks the tree, measures the minified UTF-8 byte size, and ranks every node by how many bytes it contributes.

1,294 chars typed

Size summary

All sizes are UTF-8 bytes. Minified is what your HTTP gateway, CDN, or JSON column measures.

Minified bytes

875 B

875 B exact

2-space pretty

1.3 KB

+49.7% vs minified

4-space pretty

1.6 KB

1,636 B exact

Tab pretty

1.1 KB

1,147 B exact

Char count

875

JavaScript string.length of minified form

Total values

53

41 leaves

Total keys

45

9 objects

Max depth

4

Nesting depth from the root

Type histogram

How every value in the document classifies. Counts include every level of nesting.

Objects

9

Arrays

3

Strings

30

Numbers

9

Booleans

1

Nulls

1

Numbers range from 0 to 5,339.

Heaviest paths

Every node ranked by the bytes its minified JSON form contributes. Containers include their children, so an object or array near the root naturally floats to the top. The percent is the share of the minified total.

object$
100%875 B

{ 9 keys }

object$.customer
39.9%349 B

{ 5 keys }

array$.items
33.8%296 B

[ 2 items ]

array$.customer.addresses
27.7%242 B

[ 2 items ]

object$.items[0]
18.4%161 B

{ 5 keys }

object$.items[1]
15.1%132 B

{ 5 keys }

object$.customer.addresses[1]
13.7%120 B

{ 6 keys }

object$.customer.addresses[0]
13.6%119 B

{ 6 keys }

object$.items[0].metadata
6.4%56 B

{ 3 keys }

object$.totalsCents
6.06%53 B

{ 4 keys }

object$.items[1].metadata
3.89%34 B

{ 2 keys }

string$.items[0].name
3.66%32 B

"Notes on the Analytical Engine"

array$.tags
3.54%31 B

[ 3 items ]

string$.items[1].name
2.97%26 B

"Vacuum Tube Sticker Pack"

string$.createdAt
2.51%22 B

"2026-06-19T14:30:21Z"

string$.customer.addresses[0].line1
2.17%19 B

"1 Calculation Way"

string$.customer.addresses[1].line1
2.17%19 B

"550 Castro Street"

string$.customer.email
1.94%17 B

"ada@example.com"

string$.customer.phone
1.94%17 B

"+1-415-555-0117"

string$.customer.addresses[0].city
1.71%15 B

"Mountain View"

string$.customer.addresses[1].city
1.71%15 B

"Mountain View"

string$.id
1.6%14 B

"ord_8H2cVTbE"

string$.customer.name
1.6%14 B

"Ada Lovelace"

string$.customer.id
1.49%13 B

"cus_512fa01"

string$.tags[2]
1.37%12 B

"newsletter"

Most common keys

Property names ranked by how often they appear anywhere in the tree. Repeated metadata keys (id, type, createdAt) are good candidates for compression or schema flattening.

name
3
city
2
country
2
format
2
id
2
language
2
line1
2
metadata
2
postalCode
2
quantity
2
region
2
sku
2
type
2
unitPriceCents
2
addresses
1
createdAt
1
customer
1
email
1
items
1
notes
1
phone
1
refunded
1
shipping
1
status
1
subtotal
1

Longest strings

The top 10 strings by character length, with the path and a preview. Long inlined strings are often base64 blobs, embedded HTML, or unused descriptions.

$.items[0].name30 chars

Notes on the Analytical Engine

$.items[1].name24 chars

Vacuum Tube Sticker Pack

$.createdAt20 chars

2026-06-19T14:30:21Z

$.customer.addresses[0].line117 chars

1 Calculation Way

$.customer.addresses[1].line117 chars

550 Castro Street

$.customer.email15 chars

ada@example.com

$.customer.phone15 chars

+1-415-555-0117

$.customer.addresses[0].city13 chars

Mountain View

$.customer.addresses[1].city13 chars

Mountain View

$.id12 chars

ord_8H2cVTbE

String length distribution

0 to 16 chars25
17 to 64 chars5

How to use

  1. Paste a JSON document into the input. Use Load sample to start from a realistic example or Format input to pretty-print a minified blob first.
  2. Read the Size summary card: minified UTF-8 bytes, the cost of 2-space, 4-space, and tab pretty-printing, char count, and the pretty-vs-minified whitespace overhead percent.
  3. Open the Type histogram to see how many objects, arrays, strings, numbers, booleans, and nulls live in the tree, plus total keys, total leaves, and the maximum nesting depth.
  4. Scan the Heaviest paths table to find the nodes that dominate the payload. Each row shows the JSONPath, the value type, its byte size, and its share of the minified total.
  5. Check Most common keys to find repeated property names worth flattening, then review Longest strings to spot inline base64 blobs, embedded HTML, or unused descriptions that are safe to move out of the document.
  6. Click Copy report or Copy table to grab a plain-text summary or a tab-separated paste-ready view of any panel.

About this tool

JSON Size Analyzer profiles a JSON document so you can see exactly where its bytes go. Paste any valid JSON value and the tool measures the UTF-8 byte length of the minified form (what HTTP gateways, CDNs, and JSON columns actually count), the 2-space, 4-space, and tab-indented pretty-printed forms, and the JavaScript char count of the minified form. A type histogram breaks the tree into objects, arrays, strings, numbers, booleans, and nulls, with totals for keys, leaves, and the maximum nesting depth. The heaviest paths panel walks every node, computes the bytes its minified JSON form contributes, and ranks the top 25 paths by their share of the payload, with a percent bar and a value preview, so you can spot the one nested array or base64 blob that bloats every response. The most common keys panel counts every property name across the whole tree, ranked by occurrence, which highlights repeated metadata fields that are good candidates for compression or schema flattening. The longest strings panel lists the top strings by character length with their path and a preview, and a length distribution buckets every string in the document by size range. Everything runs in your browser using JSON.parse and a single recursive walk; byte counts come from TextEncoder so they match the on-wire size of the document when sent as UTF-8. Nothing is uploaded. Useful for API designers shaving response bytes, mobile teams checking config payload size, embedded developers picking an indent strategy, ETL engineers profiling a NDJSON line, and anyone who wants a clear answer to how big is my JSON before paying for storage or bandwidth.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools